diff --git a/components/error/ErrorCategories/ErrorCategories.styles.js b/components/error/ErrorCategories/ErrorCategories.styles.js
index 098084288..6e3672fcf 100644
--- a/components/error/ErrorCategories/ErrorCategories.styles.js
+++ b/components/error/ErrorCategories/ErrorCategories.styles.js
@@ -1,4 +1,5 @@
import { css } from '@emotion/react'
+
import { calcRem } from '../../../utils/style/calcRem'
const base = ({breakpoints: { desktop, tablet, mobile }}) => css`
diff --git a/components/error/ErrorLeftContent/ErrorLeftContent.jsx b/components/error/ErrorLeftContent/ErrorLeftContent.jsx
index 157150635..340ab8e02 100644
--- a/components/error/ErrorLeftContent/ErrorLeftContent.jsx
+++ b/components/error/ErrorLeftContent/ErrorLeftContent.jsx
@@ -1,6 +1,6 @@
-import React from 'react'
-import styled from '@emotion/styled'
import { PictureSmart } from '@csssr/csssr.images/dist/react'
+import styled from '@emotion/styled'
+import React from 'react'
import styles from './ErrorLeftContent.styles'
diff --git a/components/error/ErrorLeftContent/ErrorLeftContent.styles.js b/components/error/ErrorLeftContent/ErrorLeftContent.styles.js
index 75d129e6c..6bb1eb83b 100644
--- a/components/error/ErrorLeftContent/ErrorLeftContent.styles.js
+++ b/components/error/ErrorLeftContent/ErrorLeftContent.styles.js
@@ -1,4 +1,5 @@
import { css } from '@emotion/react'
+
import { calcRem } from '../../../utils/style/calcRem'
const base = ({breakpoints: { desktop, tablet, mobile }}) => css`
diff --git a/components/error/ErrorPage.jsx b/components/error/ErrorPage.jsx
index a4b33555d..8334c0b17 100644
--- a/components/error/ErrorPage.jsx
+++ b/components/error/ErrorPage.jsx
@@ -1,20 +1,19 @@
-import React, { Fragment } from 'react'
-import Link from 'next/link'
-import { useRouter } from 'next/router'
+import { Grid } from '@csssr/core-design'
import { PictureSmart } from '@csssr/csssr.images/dist/react'
import { Global } from '@emotion/react'
import styled from '@emotion/styled'
import cn from 'classnames'
+import Link from 'next/link'
+import { useRouter } from 'next/router'
+import React, { Fragment } from 'react'
-import styles from './ErrorPage.styles'
-import { Grid } from '@csssr/core-design'
-import Meta from '../Meta'
-
-import ruPathRegexp from '../../utils/ruPathRegexp'
import { ReactComponent as LogoIcon } from '../../public/components/error/icons/csssr_logo.svg'
import { ReactComponent as ServerError } from '../../public/components/error/icons/serverError.svg'
-
+import ruPathRegexp from '../../utils/ruPathRegexp'
import globalStyles from '../Layout/Layout.styles'
+import Meta from '../Meta'
+
+import styles from './ErrorPage.styles'
const possibleStatusCodes = [500]
@@ -53,7 +52,7 @@ const ErrorPage = ({ className, statusCode: statusCodeFromProps }) => {
: defaultStatusCode
return (
-
+ <>
@@ -70,7 +69,7 @@ const ErrorPage = ({ className, statusCode: statusCodeFromProps }) => {
@@ -85,7 +84,7 @@ const ErrorPage = ({ className, statusCode: statusCodeFromProps }) => {
className="font_subhead-slab"
dangerouslySetInnerHTML={{
__html: [
- `${subtitleLocalesByStatusCode[statusCode][language]}`,
+ String(subtitleLocalesByStatusCode[statusCode][language]),
statusCode === 500
? 'sales@csssr.io'
: null,
@@ -93,7 +92,7 @@ const ErrorPage = ({ className, statusCode: statusCodeFromProps }) => {
}}
/>
-
+ >
)
}
diff --git a/components/error/ErrorPage.styles.js b/components/error/ErrorPage.styles.js
index 055dee948..143bf939c 100644
--- a/components/error/ErrorPage.styles.js
+++ b/components/error/ErrorPage.styles.js
@@ -237,4 +237,5 @@ const StyledErrorPage = () => css`
${base}
${pictureStyles}
`
+
export default StyledErrorPage
\ No newline at end of file
diff --git a/components/error/ErrorPosts/ErrorPostCard/ErrorPostCard.jsx b/components/error/ErrorPosts/ErrorPostCard/ErrorPostCard.jsx
index fe1e458ba..d3fcdd0f7 100644
--- a/components/error/ErrorPosts/ErrorPostCard/ErrorPostCard.jsx
+++ b/components/error/ErrorPosts/ErrorPostCard/ErrorPostCard.jsx
@@ -1,12 +1,12 @@
-import React from 'react'
-import { string, shape, object } from 'prop-types'
+import { Picture } from '@csssr/csssr.images/dist/react'
import styled from '@emotion/styled'
import Link from 'next/link'
-import { Picture } from '@csssr/csssr.images/dist/react'
+import { object, shape, string } from 'prop-types'
+import React from 'react'
-import DateFormatter from '../../../DateFormatter'
-import cleaningTitle from '../../../../utils/client/cleaningTitle'
import categoriesByLanguage from '../../../../data/categoriesByLanguage'
+import cleaningTitle from '../../../../utils/client/cleaningTitle'
+import DateFormatter from '../../../DateFormatter'
import styles from './ErrorPostCard.styles'
diff --git a/components/error/ErrorPosts/ErrorPostCard/ErrorPostCard.styles.js b/components/error/ErrorPosts/ErrorPostCard/ErrorPostCard.styles.js
index 80a53bc02..f7af7553f 100644
--- a/components/error/ErrorPosts/ErrorPostCard/ErrorPostCard.styles.js
+++ b/components/error/ErrorPosts/ErrorPostCard/ErrorPostCard.styles.js
@@ -1,4 +1,5 @@
import { css } from '@emotion/react'
+
import calcRem from '../../../../utils/style/calcRem'
const base = ({ breakpoints: { desktop, tablet, mobile }, colors}) => css`
diff --git a/components/error/ErrorPosts/ErrorPosts.jsx b/components/error/ErrorPosts/ErrorPosts.jsx
index 424f65f30..16f8ce75b 100644
--- a/components/error/ErrorPosts/ErrorPosts.jsx
+++ b/components/error/ErrorPosts/ErrorPosts.jsx
@@ -1,12 +1,11 @@
-import React from 'react'
-import { string, shape, object, arrayOf } from 'prop-types'
import styled from '@emotion/styled'
-
-import ErrorPostCard from './ErrorPostCard'
+import { arrayOf, object, shape, string } from 'prop-types'
+import React from 'react'
import postsOrderEn from '../../../postsOrderEn.json'
import postsOrderRu from '../../../postsOrderRu.json'
+import ErrorPostCard from './ErrorPostCard'
import styles from './ErrorPosts.styles'
const ErrorPosts = ({ className, posts, language }) => {
@@ -35,7 +34,7 @@ const ErrorPosts = ({ className, posts, language }) => {
ErrorPosts.propTypes = {
className: string,
- post: arrayOf(
+ posts: arrayOf(
shape({
title: string,
coverImageAlt: string,
diff --git a/components/error/ErrorPosts/ErrorPosts.styles.js b/components/error/ErrorPosts/ErrorPosts.styles.js
index c7b09eb8b..b9318401f 100644
--- a/components/error/ErrorPosts/ErrorPosts.styles.js
+++ b/components/error/ErrorPosts/ErrorPosts.styles.js
@@ -1,4 +1,5 @@
import { css } from '@emotion/react'
+
import calcRem from '../../../utils/style/calcRem'
const base = ({ breakpoints: { desktop, tablet, mobile }}) => css`
diff --git a/components/main/Categories/ActiveLine/ActiveLine.jsx b/components/main/Categories/ActiveLine/ActiveLine.jsx
index 75dea7496..8b97b93c1 100644
--- a/components/main/Categories/ActiveLine/ActiveLine.jsx
+++ b/components/main/Categories/ActiveLine/ActiveLine.jsx
@@ -1,5 +1,5 @@
-import React from 'react'
import styled from '@emotion/styled'
+import React from 'react'
import styles from './ActiveLine.styles'
diff --git a/components/main/Categories/ActiveLine/ActiveLine.styles.js b/components/main/Categories/ActiveLine/ActiveLine.styles.js
index cc7dc2b18..f1540199d 100644
--- a/components/main/Categories/ActiveLine/ActiveLine.styles.js
+++ b/components/main/Categories/ActiveLine/ActiveLine.styles.js
@@ -1,4 +1,5 @@
import { css } from '@emotion/react'
+
import { calcRem } from '../../../../utils/style/calcRem'
const base = ({ breakpoints: { desktop, tablet, mobile } }) => css`
diff --git a/components/main/Categories/Categories.jsx b/components/main/Categories/Categories.jsx
index 3150d8b0b..70e2e8e41 100644
--- a/components/main/Categories/Categories.jsx
+++ b/components/main/Categories/Categories.jsx
@@ -1,15 +1,14 @@
-import React, { useState, createRef, useEffect } from 'react'
+import styled from '@emotion/styled'
import cn from 'classnames'
import Link from 'next/link'
-import styled from '@emotion/styled'
+import React, { createRef, useEffect, useState } from 'react'
-import ActiveLine from './ActiveLine'
+import categoriesByLanguage, { categoriesOrder } from '../../../data/categoriesByLanguage'
import { Grid } from '../../Grid'
+import ActiveLine from './ActiveLine'
import styles from './Categories.styles'
-import categoriesByLanguage, { categoriesOrder } from '../../../data/categoriesByLanguage'
-
const Categories = ({ className, items, activeCategory, language }) => {
const [activeWidth, setActiveWidth] = useState(0)
const [activeLeft, setActiveLeft] = useState(0)
diff --git a/components/main/Categories/Categories.styles.js b/components/main/Categories/Categories.styles.js
index b031556c8..03776d44b 100644
--- a/components/main/Categories/Categories.styles.js
+++ b/components/main/Categories/Categories.styles.js
@@ -1,4 +1,5 @@
import { css } from '@emotion/react'
+
import { calcRem } from '../../../utils/style/calcRem'
const base = ({breakpoints: { desktop, tablet, mobile }}) => css`
diff --git a/components/main/MainPage.jsx b/components/main/MainPage.jsx
index bee70dff9..f1fcd1b07 100644
--- a/components/main/MainPage.jsx
+++ b/components/main/MainPage.jsx
@@ -1,15 +1,15 @@
-import React from 'react'
-import { string, number, arrayOf, shape, object } from 'prop-types'
-import Head from 'next/head'
import { getOriginal } from '@csssr/csssr.images/dist/utils'
+import Head from 'next/head'
+import { arrayOf, number, object, shape, string } from 'prop-types'
+import React from 'react'
+import myImageData from '../../public/images/resize/en/offshore-web-development/mainCoverL/desktop.m.png'
import Layout from '../Layout'
-import Posts from './Posts'
-import Categories from './Categories'
-import Newsletter from '../Newsletter/'
+import Newsletter from '../Newsletter'
+import Categories from './Categories'
import Pagination from './Pagination/Pagination'
-import myImageData from '../../public/images/resize/en/offshore-web-development/mainCoverL/desktop.m.png'
+import Posts from './Posts'
const meta = {
en: {
diff --git a/components/main/Pagination/NextPageLink/NextPageLink.jsx b/components/main/Pagination/NextPageLink/NextPageLink.jsx
index 6747459e8..00488ba68 100644
--- a/components/main/Pagination/NextPageLink/NextPageLink.jsx
+++ b/components/main/Pagination/NextPageLink/NextPageLink.jsx
@@ -1,8 +1,9 @@
-import React from 'react'
-import { string, number, bool } from 'prop-types'
-import Link from 'next/link'
-import cn from 'classnames'
import styled from '@emotion/styled'
+import cn from 'classnames'
+import Link from 'next/link'
+import { bool, number, string } from 'prop-types'
+import React from 'react'
+
import styles from './NextPageLink.styles'
const NextPageLink = ({
@@ -17,6 +18,7 @@ const NextPageLink = ({
if (activePageNumber === totalNumberOfPages) {
return (
+ // eslint-disable-next-line jsx-a11y/anchor-has-content
+ {/* eslint-disable-next-line jsx-a11y/anchor-has-content */}
- {pageNumbers.map((pageNumber, index) => {
+ {pageNumbers.map((pageNumber) => {
if (pageNumber === '...') {
return (
-
+
{pageNumber}
)
@@ -54,7 +56,7 @@ const Pagination = ({
}
return (
-
+
css`
diff --git a/components/main/Pagination/PrevPageLink/PrevPageLink.jsx b/components/main/Pagination/PrevPageLink/PrevPageLink.jsx
index 8a3b1d6ce..25d8663cc 100644
--- a/components/main/Pagination/PrevPageLink/PrevPageLink.jsx
+++ b/components/main/Pagination/PrevPageLink/PrevPageLink.jsx
@@ -1,8 +1,9 @@
-import React from 'react'
-import { string, number, bool } from 'prop-types'
-import Link from 'next/link'
-import cn from 'classnames'
import styled from '@emotion/styled'
+import cn from 'classnames'
+import Link from 'next/link'
+import { bool, number, string } from 'prop-types'
+import React from 'react'
+
import styles from './PrevPageLink.styles'
const PrevPageLink = ({ className, language, disabled, activeCategory, activePageNumber }) => {
@@ -10,6 +11,7 @@ const PrevPageLink = ({ className, language, disabled, activeCategory, activePag
if (activePageNumber === 1) {
return (
+ // eslint-disable-next-line jsx-a11y/anchor-has-content
+ {/* eslint-disable-next-line jsx-a11y/anchor-has-content */}
{
const imgCover = size === 'l' ? post.images.mainCoverL : post.images.mainCoverS
return (
-
+
css`
diff --git a/components/main/Posts/Posts.jsx b/components/main/Posts/Posts.jsx
index 4fa74db20..22e7060a6 100644
--- a/components/main/Posts/Posts.jsx
+++ b/components/main/Posts/Posts.jsx
@@ -1,10 +1,11 @@
+import styled from '@emotion/styled'
+import { arrayOf, object, shape, string } from 'prop-types'
import React from 'react'
-import { string, arrayOf, shape, object } from 'prop-types'
+
import { Grid } from '../../Grid'
-import styled from '@emotion/styled'
-import styles from './Posts.styles'
import PostCard from './PostCard'
+import styles from './Posts.styles'
const Posts = ({ language, posts, className }) => (
@@ -31,7 +32,7 @@ const Posts = ({ language, posts, className }) => (
Posts.propTypes = {
className: string,
language: string,
- post: arrayOf(
+ posts: arrayOf(
shape({
title: string,
coverImageAlt: string,
diff --git a/components/main/Posts/Posts.styles.js b/components/main/Posts/Posts.styles.js
index 0758838bb..4fedcb393 100644
--- a/components/main/Posts/Posts.styles.js
+++ b/components/main/Posts/Posts.styles.js
@@ -1,4 +1,5 @@
import { css } from '@emotion/react'
+
import calcRem from '../../../utils/style/calcRem'
const base = ({ breakpoints: { desktop, tablet, mobile }}) => css`
diff --git a/components/news512/News/News.jsx b/components/news512/News/News.jsx
index 9e65acc3a..e0dcc7843 100644
--- a/components/news512/News/News.jsx
+++ b/components/news512/News/News.jsx
@@ -1,19 +1,19 @@
-import React from 'react'
-import Head from 'next/head'
-import { string, number, arrayOf, shape } from 'prop-types'
-import styled from '@emotion/styled'
import { Heading } from '@csssr/core-design'
import { getOriginal } from '@csssr/csssr.images/dist/utils'
-import Layout from '../../Layout'
-import { Grid } from '../../Grid'
-import Categories from '../../main/Categories'
-import Pagination from '../../main/Pagination'
-import NewsList from './NewsList'
+import styled from '@emotion/styled'
+import Head from 'next/head'
+import { arrayOf, number, shape, string } from 'prop-types'
+import React from 'react'
import { NEWS_PER_PAGE } from '../../../data/constants'
import ogImages from '../../../public/images/og/news512/all.png'
+import { Grid } from '../../Grid'
+import Layout from '../../Layout'
+import Categories from '../../main/Categories'
+import Pagination from '../../main/Pagination'
import styles from './News.styles'
+import NewsList from './NewsList'
const ogImage = getOriginal(ogImages)
diff --git a/components/news512/News/News.styles.js b/components/news512/News/News.styles.js
index 73a28ff43..a85f2cf18 100644
--- a/components/news512/News/News.styles.js
+++ b/components/news512/News/News.styles.js
@@ -1,4 +1,5 @@
import { css } from '@emotion/react'
+
import calcRem from '../../../utils/style/calcRem'
const base = ({ breakpoints: { desktop, tablet } }) => css`
diff --git a/components/news512/News/NewsList/NewsList.jsx b/components/news512/News/NewsList/NewsList.jsx
index 2c3e67b0e..f2e61d551 100644
--- a/components/news512/News/NewsList/NewsList.jsx
+++ b/components/news512/News/NewsList/NewsList.jsx
@@ -1,11 +1,11 @@
-import React from 'react'
+import styled from '@emotion/styled'
import cn from 'classnames'
import Link from 'next/link'
-import { string, number, arrayOf, shape } from 'prop-types'
-import styled from '@emotion/styled'
+import { arrayOf, number, shape, string } from 'prop-types'
+import React from 'react'
-import DateFormatter from '../../../DateFormatter'
import cleaningTitle from '../../../../utils/client/cleaningTitle'
+import DateFormatter from '../../../DateFormatter'
import styles from './NewsList.styles'
diff --git a/components/news512/News/NewsList/NewsList.styles.js b/components/news512/News/NewsList/NewsList.styles.js
index 13e157d22..d2aa5b59e 100644
--- a/components/news512/News/NewsList/NewsList.styles.js
+++ b/components/news512/News/NewsList/NewsList.styles.js
@@ -1,4 +1,5 @@
import { css } from '@emotion/react'
+
import calcRem from '../../../../utils/style/calcRem'
const base = ({ breakpoints: { desktop, tablet, mobile } }) => css`
diff --git a/lib/allPostsImages.js b/lib/allPostsImages.js
index 63eba8930..507d69899 100644
--- a/lib/allPostsImages.js
+++ b/lib/allPostsImages.js
@@ -4,13 +4,13 @@ import { getSources } from '@csssr/csssr.images/dist/utils'
const requireAllPostsImagesResize = require.context(
'../public/images/resize',
true,
- /(png|gif|jpeg|jpg)$/,
+ /(?:png|gif|jpeg|jpg)$/,
)
const requireAllPostsImagesDontResize = require.context(
'../public/images/dont-resize?dont-resize',
true,
- /(png|gif|jpeg|jpg)$/,
+ /(?:png|gif|jpeg|jpg)$/,
)
// Сначала require'им все картинки по одной и складываем в объект вида
diff --git a/lib/api.js b/lib/api.js
index cda0ac938..002a6cb57 100644
--- a/lib/api.js
+++ b/lib/api.js
@@ -1,11 +1,14 @@
import fs from 'fs'
-import util from 'util'
import { join } from 'path'
+import util from 'util'
+
import matter from 'gray-matter'
+
import languages from '../utils/languages'
+
import {
- dataByLanguagePostAndImageResize,
dataByLanguagePostAndImageDontResize,
+ dataByLanguagePostAndImageResize,
} from './allPostsImages'
const readdir = util.promisify(fs.readdir)
@@ -90,7 +93,7 @@ export async function getPostNewsBySlug(slug, fields = []) {
if (field === 'images') {
items[field] =
- dataByLanguagePostAndImageResize['news512'][slug] ||
+ dataByLanguagePostAndImageResize.news512[slug] ||
dataByLanguagePostAndImageResize['any-language']['any-article']
}
@@ -103,7 +106,7 @@ export async function getPostNewsBySlug(slug, fields = []) {
}
export async function getPostsNews(fields = []) {
- const postsByLanguage = readdir(join(postsNewsDirectory)).then((fileNames) => {
+ const postsByLanguage = await readdir(join(postsNewsDirectory)).then((fileNames) => {
return Promise.all(
fileNames.map((name) => {
const slug = name.replace(/\.md$/, '')
diff --git a/next.config.js b/next.config.js
index 72fd16b25..928057ad6 100644
--- a/next.config.js
+++ b/next.config.js
@@ -1,6 +1,7 @@
+const { Plugin } = require('@csssr/csssr.images/dist/webpack/plugin')
const withPlugins = require('next-compose-plugins')
+
const { getImagesLoaderRules } = require('./utils/getImagesLoaderRules')
-const { Plugin } = require('@csssr/csssr.images/dist/webpack/plugin')
const withImages = (nextConfig = {}) => ({
...nextConfig,
diff --git a/package.json b/package.json
index 1c7992ed0..0d1c9bf69 100644
--- a/package.json
+++ b/package.json
@@ -45,20 +45,28 @@
},
"devDependencies": {
"@babel/core": "^7.13.16",
+ "@babel/eslint-parser": "^7.14.2",
"@csssr/eslint-config-core": "^1.1.1",
+ "@csssr/linters": "0.1.1",
"@emotion/eslint-plugin": "^11.2.0",
"@storybook/addon-actions": "^6.2.9",
"@storybook/addon-essentials": "^6.2.9",
"@storybook/addon-links": "^6.2.9",
"@storybook/react": "^6.2.9",
"@svgr/webpack": "^5.5.0",
+ "@typescript-eslint/eslint-plugin": "^4.19.0",
"babel-loader": "^8.2.2",
"dotenv": "8.2.0",
- "eslint": "^7.24.0",
- "eslint-config-prettier": "^8.1.0",
+ "eslint": "^7.21.0",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-jsx-a11y": "^6.4.1",
+ "eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^3.3.1",
- "eslint-plugin-react": "^7.23.2",
+ "eslint-plugin-promise": "^4.3.1",
+ "eslint-plugin-react": "^7.23.1",
"eslint-plugin-react-hooks": "^4.2.0",
+ "eslint-plugin-security-node": "^1.0.14",
+ "eslint-plugin-unicorn": "^29.0.0",
"file-loader": "^6.2.0",
"fs-extra": "^9.1.0",
"husky": "^4.3.8",
diff --git a/pages/404.js b/pages/404.js
index a801e522f..0e8c24f2d 100644
--- a/pages/404.js
+++ b/pages/404.js
@@ -3,10 +3,8 @@ import React from 'react'
import Error404Page from '../components/error/Error404Page'
import { getPostsByLanguage } from '../lib/api'
-class Custom404 extends React.Component {
- render() {
- return
- }
+const Custom404 = (props) => {
+ return
}
export default Custom404
diff --git a/pages/[language]/500.js b/pages/[language]/500.js
index ddf5ccc5b..c58163cf1 100644
--- a/pages/[language]/500.js
+++ b/pages/[language]/500.js
@@ -1,15 +1,14 @@
import React from 'react'
+
import ErrorPage from '../../components/error/ErrorPage'
import languages from '../../utils/languages'
// This page is placed here for testing purposes
-class Custom500 extends React.Component {
- render() {
- return
- }
+const Custom500 = (props) => {
+ return
}
-export async function getStaticProps({ params }) {
+export function getStaticProps({ params }) {
const language = params.language
return {
@@ -19,7 +18,7 @@ export async function getStaticProps({ params }) {
}
}
-export async function getStaticPaths() {
+export function getStaticPaths() {
return {
paths: languages.map((language) => ({
params: {
diff --git a/pages/[language]/[category]/[page].js b/pages/[language]/[category]/[page].js
index ceb92ade4..a436de617 100644
--- a/pages/[language]/[category]/[page].js
+++ b/pages/[language]/[category]/[page].js
@@ -1,14 +1,15 @@
import React from 'react'
-import { getPostsByLanguage, getPostsNews } from '../../../lib/api'
+
import MainPage from '../../../components/main/MainPage'
-import calculatePageNumberByPostIndex from '../../../utils/calculatePageNumberByPostIndex'
-import languages from '../../../utils/languages'
+import { getPostsByLanguage, getPostsNews } from '../../../lib/api'
+import postsOrderEn from '../../../postsOrderEn.json'
+import postsOrderRu from '../../../postsOrderRu.json'
import areEqualShallow from '../../../utils/areEqualShallow'
-import getPostsCategories from '../../../utils/getPostsCategories'
+import calculatePageNumberByPostIndex from '../../../utils/calculatePageNumberByPostIndex'
import getBenchmarkEmailListId from '../../../utils/getBenchmarkEmailListId'
+import getPostsCategories from '../../../utils/getPostsCategories'
+import languages from '../../../utils/languages'
import sortByDate from '../../../utils/sortByDate'
-import postsOrderEn from '../../../postsOrderEn.json'
-import postsOrderRu from '../../../postsOrderRu.json'
const Index = ({
posts,
@@ -170,16 +171,16 @@ export async function getStaticPaths() {
}
}),
)
- .reduce((memo, post) => {
- const isParamsAlreadyInMemo = memo.find(({ params }) =>
+ .reduce((_memo, post) => {
+ const isParamsAlreadyInMemo = _memo.find(({ params }) =>
areEqualShallow(params, post.params),
)
if (isParamsAlreadyInMemo) {
- return memo
+ return _memo
}
- return memo.concat({
+ return _memo.concat({
params: {
language: post.params.language,
category: post.params.category,
diff --git a/pages/[language]/[category]/index.js b/pages/[language]/[category]/index.js
index eecf603db..5ddb08436 100644
--- a/pages/[language]/[category]/index.js
+++ b/pages/[language]/[category]/index.js
@@ -1,12 +1,13 @@
import React from 'react'
-import { getPostsByLanguage } from '../../../lib/api'
+
import MainPage from '../../../components/main/MainPage'
-import languages from '../../../utils/languages'
-import getPostsCategories from '../../../utils/getPostsCategories'
-import getBenchmarkEmailListId from '../../../utils/getBenchmarkEmailListId'
import { POSTS_PER_PAGE } from '../../../data/constants'
+import { getPostsByLanguage } from '../../../lib/api'
import postsOrderEn from '../../../postsOrderEn.json'
import postsOrderRu from '../../../postsOrderRu.json'
+import getBenchmarkEmailListId from '../../../utils/getBenchmarkEmailListId'
+import getPostsCategories from '../../../utils/getPostsCategories'
+import languages from '../../../utils/languages'
const postsOrder = {
en: postsOrderEn,
diff --git a/pages/[language]/article/[slug].js b/pages/[language]/article/[slug].js
index 6b0d2d8fe..a1271e22d 100644
--- a/pages/[language]/article/[slug].js
+++ b/pages/[language]/article/[slug].js
@@ -1,10 +1,10 @@
import Layout from '../../../components/Layout'
import Post from '../../../components/Post'
import { getPostBySlugAndLanguage, getPostsByLanguage } from '../../../lib/api'
-import languages from '../../../utils/languages'
-import getBenchmarkEmailListId from '../../../utils/getBenchmarkEmailListId'
import postsOrderEn from '../../../postsOrderEn.json'
import postsOrderRu from '../../../postsOrderRu.json'
+import getBenchmarkEmailListId from '../../../utils/getBenchmarkEmailListId'
+import languages from '../../../utils/languages'
const postsOrder = {
en: postsOrderEn,
@@ -13,13 +13,7 @@ const postsOrder = {
// const postsOrder = postsOrderRu.flat().filter((slug) => slug !== 'news512')
-export default function PostPage({
- posts,
- post,
- language,
- BENCHMARK_EMAIL_TOKEN,
- BENCHMARK_EMAIL_LIST_ID,
-}) {
+const PostPage = ({ posts, post, language, BENCHMARK_EMAIL_TOKEN, BENCHMARK_EMAIL_LIST_ID }) => {
// const router = useRouter()
// TODO: добавить ErrorPage из csssr.com
// if (!router.isFallback && !post?.slug) {
@@ -43,6 +37,8 @@ export default function PostPage({
)
}
+export default PostPage
+
export async function getStaticProps({ params }) {
const { language, slug } = params
@@ -104,7 +100,7 @@ export async function getStaticPaths() {
...posts[language].map((post) => ({
params: {
slug: post.slug,
- language: language,
+ language,
},
})),
]
diff --git a/pages/[language]/article/index.js b/pages/[language]/article/index.js
index 63835b785..c2ff0317d 100644
--- a/pages/[language]/article/index.js
+++ b/pages/[language]/article/index.js
@@ -1,7 +1,8 @@
import Head from 'next/head'
+
import languages from '../../../utils/languages'
-export async function getStaticProps({ params }) {
+export function getStaticProps({ params }) {
const { language } = params
return {
@@ -11,7 +12,7 @@ export async function getStaticProps({ params }) {
}
}
-export async function getStaticPaths() {
+export function getStaticPaths() {
return {
paths: languages.map((language) => ({ params: { language } })),
fallback: false,
@@ -24,4 +25,5 @@ const Index = ({ language }) => (
)
+
export default Index
diff --git a/pages/[language]/index.js b/pages/[language]/index.js
index ee940bf9d..c55f38a08 100644
--- a/pages/[language]/index.js
+++ b/pages/[language]/index.js
@@ -1,13 +1,14 @@
import React from 'react'
-import { getPostsByLanguage, getPostsNews } from '../../lib/api'
+
import MainPage from '../../components/main/MainPage'
-import languages from '../../utils/languages'
-import getPostsCategories from '../../utils/getPostsCategories'
-import getBenchmarkEmailListId from '../../utils/getBenchmarkEmailListId'
-import sortByDate from '../../utils/sortByDate'
import { POSTS_PER_PAGE } from '../../data/constants'
+import { getPostsByLanguage, getPostsNews } from '../../lib/api'
import postsOrderEn from '../../postsOrderEn.json'
import postsOrderRu from '../../postsOrderRu.json'
+import getBenchmarkEmailListId from '../../utils/getBenchmarkEmailListId'
+import getPostsCategories from '../../utils/getPostsCategories'
+import languages from '../../utils/languages'
+import sortByDate from '../../utils/sortByDate'
const postsOrder = {
en: postsOrderEn,
@@ -88,7 +89,7 @@ export async function getStaticProps({ params }) {
}
}
-export async function getStaticPaths() {
+export function getStaticPaths() {
return {
paths: languages.map((language) => ({
params: {
diff --git a/pages/_app.js b/pages/_app.js
index d6e099462..fc2d9b34b 100644
--- a/pages/_app.js
+++ b/pages/_app.js
@@ -1,8 +1,8 @@
-import { useEffect } from 'react'
+import { defaultTheme, Root } from '@csssr/core-design'
import { ThemeProvider } from '@emotion/react'
-import { Root, defaultTheme } from '@csssr/core-design'
import Router from 'next/router'
import Prism from 'prismjs'
+import { useEffect } from 'react'
import '../utils/sentry'
const MyApp = ({ Component, pageProps }) => {
diff --git a/pages/_document.js b/pages/_document.js
index dab0e86b8..bfe0ba68c 100644
--- a/pages/_document.js
+++ b/pages/_document.js
@@ -1,7 +1,8 @@
+import { Fonts } from '@csssr/core-design'
+import Document, { Head, Html, Main, NextScript } from 'next/document'
import { GtmNoScript, GtmScript } from 'react-gtm-components'
-import Document, { Html, Head, Main, NextScript } from 'next/document'
+
import getGtmId from '../utils/getGtmId'
-import { Fonts } from '@csssr/core-design'
export default class MyDocument extends Document {
render() {
diff --git a/pages/_error.js b/pages/_error.js
index fa1bb71b9..d94cca04f 100644
--- a/pages/_error.js
+++ b/pages/_error.js
@@ -1,6 +1,7 @@
-import ErrorPage from '../components/error/ErrorPage'
import React from 'react'
+import ErrorPage from '../components/error/ErrorPage'
+
class MyError extends React.Component {
static getInitialProps({ res, err }) {
const statusCode = res ? res.statusCode : err ? err.statusCode : null
diff --git a/pages/index.js b/pages/index.js
index 362877c22..477b8d6ee 100644
--- a/pages/index.js
+++ b/pages/index.js
@@ -6,4 +6,5 @@ const Index = () => (
)
+
export default Index
diff --git a/pages/ru/news512/[page].js b/pages/ru/news512/[page].js
index 9ebb67686..b128f2353 100644
--- a/pages/ru/news512/[page].js
+++ b/pages/ru/news512/[page].js
@@ -1,6 +1,6 @@
import React from 'react'
-import News from '../../../components/news512/News'
+import News from '../../../components/news512/News'
import { getPostsByLanguage, getPostsNews } from '../../../lib/api'
import calculatePageNumberByNewsIndex from '../../../utils/calculatePageNumberByNewsIndex'
import getPostsCategories from '../../../utils/getPostsCategories'
@@ -38,7 +38,7 @@ export async function getStaticProps({ params }) {
return pageNumber === params.page
})
- const lastPostDate = orderedPostsNews[0]['date']
+ const lastPostDate = orderedPostsNews[0].date
return {
props: {
@@ -54,7 +54,7 @@ export async function getStaticProps({ params }) {
export async function getStaticPaths() {
const postsNews = await getPostsNews()
- const pageNumber = +calculatePageNumberByNewsIndex(postsNews.length)
+ const pageNumber = Number(calculatePageNumberByNewsIndex(postsNews.length))
const paths = [...Array(pageNumber)]
.map((item, index) => ({
params: { page: (index + 1).toString() },
diff --git a/pages/ru/news512/episode/[slug].js b/pages/ru/news512/episode/[slug].js
index 79ec32108..2aeb4bc98 100644
--- a/pages/ru/news512/episode/[slug].js
+++ b/pages/ru/news512/episode/[slug].js
@@ -1,15 +1,16 @@
import React from 'react'
+
import Layout from '../../../../components/Layout'
import Post from '../../../../components/Post'
import { getPostNewsBySlug, getPostsNews } from '../../../../lib/api'
import getBenchmarkEmailListId from '../../../../utils/getBenchmarkEmailListId'
-export default function PostNewsPage({
+const PostNewsPage = ({
post,
/* morePosts, */ language,
BENCHMARK_EMAIL_TOKEN,
BENCHMARK_EMAIL_LIST_ID,
-}) {
+}) => {
return (
<>
@@ -25,6 +26,8 @@ export default function PostNewsPage({
)
}
+export default PostNewsPage
+
export async function getStaticProps({ params }) {
const post = await getPostNewsBySlug(params.slug, [
'title',
@@ -40,7 +43,7 @@ export async function getStaticProps({ params }) {
])
return {
props: {
- post: post,
+ post,
language: 'ru',
BENCHMARK_EMAIL_TOKEN: process.env.BENCHMARK_EMAIL_TOKEN,
BENCHMARK_EMAIL_LIST_ID: getBenchmarkEmailListId(),
diff --git a/pages/ru/news512/episode/index.js b/pages/ru/news512/episode/index.js
index 7b1e261b9..dfc70d7fd 100644
--- a/pages/ru/news512/episode/index.js
+++ b/pages/ru/news512/episode/index.js
@@ -6,4 +6,5 @@ const Index = () => (
)
+
export default Index
diff --git a/pages/ru/news512/index.js b/pages/ru/news512/index.js
index 0ccbc649c..3324e23fe 100644
--- a/pages/ru/news512/index.js
+++ b/pages/ru/news512/index.js
@@ -1,12 +1,10 @@
import React from 'react'
import News from '../../../components/news512/News'
-
+import { NEWS_PER_PAGE } from '../../../data/constants'
import { getPostsByLanguage, getPostsNews } from '../../../lib/api'
import getPostsCategories from '../../../utils/getPostsCategories'
-import { NEWS_PER_PAGE } from '../../../data/constants'
-
const News512 = ({ categories, language, posts, totalNumberOfPosts, lastPostDate }) => (
new Date(postB.date) - new Date(postA.date),
)
- const lastPostDate = orderedPostsNews[0]['date']
+ const lastPostDate = orderedPostsNews[0].date
return {
props: {
diff --git a/scripts/articleTemplate/scaffoldNewArticle.js b/scripts/articleTemplate/scaffoldNewArticle.js
index 34cb78a7d..01b6df67b 100644
--- a/scripts/articleTemplate/scaffoldNewArticle.js
+++ b/scripts/articleTemplate/scaffoldNewArticle.js
@@ -1,8 +1,12 @@
-const path = require('path')
const fs = require('fs')
+const path = require('path')
+
+const { CLIEngine } = require('eslint')
const fse = require('fs-extra')
-const languages = require('../../utils/languages')
+
const capitalize = require('../../utils/capitalize')
+const languages = require('../../utils/languages')
+
const { addNewPost } = require('./addNewPost')
const language = process.argv[2]
@@ -26,11 +30,12 @@ const newPostsOrder = addNewPost(oldPostsOrder, slug)
fs.writeFileSync(postsOrderFilePath, JSON.stringify(newPostsOrder))
// Используем eslint для форматирования файла с порядком статей на главной
-const { CLIEngine } = require('eslint')
+
const cli = new CLIEngine({ fix: true })
const report = cli.executeOnFiles([`postsOrder${capitalize(language)}.json`])
CLIEngine.outputFixes(report)
+// eslint-disable-next-line no-console
console.log(
[
`Успех!`,
diff --git a/scripts/generateSitemapXml.js b/scripts/generateSitemapXml.js
index 496dbb924..4aa591654 100644
--- a/scripts/generateSitemapXml.js
+++ b/scripts/generateSitemapXml.js
@@ -3,7 +3,9 @@ const path = require('path')
const util = require('util')
const { SitemapStream, streamToPromise } = require('sitemap')
+
const languages = require('../utils/languages')
+
const readdir = util.promisify(fs.readdir)
const postsDirectory = path.resolve(__dirname, '../_posts')
@@ -44,7 +46,7 @@ const generateSitemap = async () => {
stream.end()
- streamToPromise(stream).then((data) =>
+ void streamToPromise(stream).then((data) =>
fs.writeFileSync(path.resolve(__dirname, '../out/sitemap.xml'), data.toString()),
)
}
diff --git a/stories/utils/getStringAttributes.js b/stories/utils/getStringAttributes.js
index 4631f0680..7c7a207f1 100644
--- a/stories/utils/getStringAttributes.js
+++ b/stories/utils/getStringAttributes.js
@@ -3,14 +3,12 @@ export const getStringAttributes = (args) =>
.reduce((acc, item) => {
if (typeof args[item] === 'boolean') {
if (args[item]) {
- acc += `${item} `
+ return acc + `${item} `
}
return acc
}
- acc += `${item}="${args[item]}" `
-
- return acc
+ return acc + `${item}="${args[item]}" `
}, '')
.trim()
diff --git a/utils/client/cleaningTitle.js b/utils/client/cleaningTitle.js
index fcb740439..388fa8a04 100644
--- a/utils/client/cleaningTitle.js
+++ b/utils/client/cleaningTitle.js
@@ -1,5 +1,5 @@
export default (title, option) => {
- let cleanTitle = title.replace(/<\/?i>|<\/?br\/?>/g, '')
+ const cleanTitle = title.replace(/<\/?i>|<\/?br\/?>/g, '')
if (option === 'meta') {
return cleanTitle.replace(/ /g, ' ').replace(/<\/?span>/g, '')
diff --git a/utils/client/getDescription.js b/utils/client/getDescription.js
index 192245e32..064e44794 100644
--- a/utils/client/getDescription.js
+++ b/utils/client/getDescription.js
@@ -20,7 +20,7 @@ export default (isNews, post) => {
// eslint-disable-next-line no-irregular-whitespace
.replace(/ /g, ' ')
.replace(/<.*?>/g, '')
- .replace(/\[|\]\(https?:\/\/?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?\)/g, '')
+ .replace(/\[|]\(https?:\/\/?[\da-z.-]+\.[a-z.]{2,6}(?:[/\w .-]*)*\/?\)/g, '')
.replace(/\s{2,}/g, ' ')
)
}
diff --git a/utils/getImagesLoaderRules.js b/utils/getImagesLoaderRules.js
index 0fc40797a..9467bc2d4 100644
--- a/utils/getImagesLoaderRules.js
+++ b/utils/getImagesLoaderRules.js
@@ -1,7 +1,8 @@
const { defaultTheme } = require('@csssr/core-design')
const getImagesLoaderRules = (isDev, isStorybook, isServer) => {
- let blogHost, imgproxyHost
+ let blogHost
+ let imgproxyHost
if (isDev) {
const ip = require('ip')
@@ -75,7 +76,7 @@ const getImagesLoaderRules = (isDev, isStorybook, isServer) => {
return [
{
- test: /\.(jpe?g|png|gif|ico)$/,
+ test: /\.(?:jpe?g|png|gif|ico)$/,
oneOf: [
{
resourceQuery: /dont-resize/,
diff --git a/utils/ruPathRegexp.js b/utils/ruPathRegexp.js
index 9b3ddc94c..848f1c833 100644
--- a/utils/ruPathRegexp.js
+++ b/utils/ruPathRegexp.js
@@ -1 +1 @@
-export default /^\/r([u\w]+)?\/?/
+export default /^\/r(?:[u\w]+)?\/?/
diff --git a/utils/validators/rateFormValidationRules.js b/utils/validators/rateFormValidationRules.js
index 0205f005d..cdced9319 100644
--- a/utils/validators/rateFormValidationRules.js
+++ b/utils/validators/rateFormValidationRules.js
@@ -1,4 +1,4 @@
-import { composeValidators, email, required } from './index'
+import { composeValidators, email, required } from '.'
export default (values) => ({
email: composeValidators(required, email)(values.email),
diff --git a/yarn.lock b/yarn.lock
index 0ec6dfdaf..3c51cc7b6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -92,6 +92,36 @@
semver "^6.3.0"
source-map "^0.5.0"
+"@babel/core@^7.12.16":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.2.tgz#54e45334ffc0172048e5c93ded36461d3ad4c417"
+ integrity sha512-OgC1mON+l4U4B4wiohJlQNUU3H73mpTyYY3j/c8U9dr9UagGGSm+WFpzjy/YLdoyjiG++c1kIDgxCo/mLwQJeQ==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ "@babel/generator" "^7.14.2"
+ "@babel/helper-compilation-targets" "^7.13.16"
+ "@babel/helper-module-transforms" "^7.14.2"
+ "@babel/helpers" "^7.14.0"
+ "@babel/parser" "^7.14.2"
+ "@babel/template" "^7.12.13"
+ "@babel/traverse" "^7.14.2"
+ "@babel/types" "^7.14.2"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.1.2"
+ semver "^6.3.0"
+ source-map "^0.5.0"
+
+"@babel/eslint-parser@^7.12.16", "@babel/eslint-parser@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.14.2.tgz#aa6fe7b76378397d643f14dfa8bf920cb6fbddab"
+ integrity sha512-g1YXHASb84MvEkReG/nZ74emTPAMjip1Ey6azZqKTEWidpgEzPGl/uoc6IPJjaMGw424u40sNm1V70tuYOQmeA==
+ dependencies:
+ eslint-scope "^5.1.0"
+ eslint-visitor-keys "^2.1.0"
+ semver "^6.3.0"
+
"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.13.16":
version "7.13.16"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.16.tgz#0befc287031a201d84cdfc173b46b320ae472d14"
@@ -110,6 +140,15 @@
jsesc "^2.5.1"
source-map "^0.5.0"
+"@babel/generator@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.2.tgz#d5773e8b557d421fd6ce0d5efa5fd7fc22567c30"
+ integrity sha512-OnADYbKrffDVai5qcpkMxQ7caomHOoEwjkouqnN2QhydAjowFAZcsdecFIRUBdb+ZcruwYE4ythYmF1UBZU5xQ==
+ dependencies:
+ "@babel/types" "^7.14.2"
+ jsesc "^2.5.1"
+ source-map "^0.5.0"
+
"@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab"
@@ -208,6 +247,15 @@
"@babel/template" "^7.12.13"
"@babel/types" "^7.12.13"
+"@babel/helper-function-name@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz#397688b590760b6ef7725b5f0860c82427ebaac2"
+ integrity sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.12.13"
+ "@babel/template" "^7.12.13"
+ "@babel/types" "^7.14.2"
+
"@babel/helper-get-function-arity@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583"
@@ -251,6 +299,20 @@
"@babel/traverse" "^7.13.13"
"@babel/types" "^7.13.14"
+"@babel/helper-module-transforms@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5"
+ integrity sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.13.12"
+ "@babel/helper-replace-supers" "^7.13.12"
+ "@babel/helper-simple-access" "^7.13.12"
+ "@babel/helper-split-export-declaration" "^7.12.13"
+ "@babel/helper-validator-identifier" "^7.14.0"
+ "@babel/template" "^7.12.13"
+ "@babel/traverse" "^7.14.2"
+ "@babel/types" "^7.14.2"
+
"@babel/helper-optimise-call-expression@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea"
@@ -313,6 +375,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed"
integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==
+"@babel/helper-validator-identifier@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
+ integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
+
"@babel/helper-validator-option@^7.12.17":
version "7.12.17"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831"
@@ -346,6 +413,15 @@
"@babel/traverse" "^7.13.0"
"@babel/types" "^7.13.0"
+"@babel/helpers@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62"
+ integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==
+ dependencies:
+ "@babel/template" "^7.12.13"
+ "@babel/traverse" "^7.14.0"
+ "@babel/types" "^7.14.0"
+
"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13":
version "7.13.10"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1"
@@ -365,6 +441,11 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37"
integrity sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw==
+"@babel/parser@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.2.tgz#0c1680aa44ad4605b16cbdcc5c341a61bde9c746"
+ integrity sha512-IoVDIHpsgE/fu7eXBeRWt8zLbDrSvD7H1gpomOkPpBoEN8KCruCqSDdqo8dddwQQrui30KSvQBaMUOJiuFu6QQ==
+
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12":
version "7.13.12"
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a"
@@ -1095,6 +1176,14 @@
pirates "^4.0.0"
source-map-support "^0.5.16"
+"@babel/runtime-corejs3@^7.10.2":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz#6bf5fbc0b961f8e3202888cb2cd0fb7a0a9a3f66"
+ integrity sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg==
+ dependencies:
+ core-js-pure "^3.0.0"
+ regenerator-runtime "^0.13.4"
+
"@babel/runtime@7.12.5":
version "7.12.5"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e"
@@ -1116,6 +1205,13 @@
dependencies:
regenerator-runtime "^0.13.4"
+"@babel/runtime@^7.11.2":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6"
+ integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
"@babel/template@^7.12.13", "@babel/template@^7.12.7", "@babel/template@^7.3.3":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327"
@@ -1153,6 +1249,20 @@
debug "^4.1.0"
globals "^11.1.0"
+"@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b"
+ integrity sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ "@babel/generator" "^7.14.2"
+ "@babel/helper-function-name" "^7.14.2"
+ "@babel/helper-split-export-declaration" "^7.12.13"
+ "@babel/parser" "^7.14.2"
+ "@babel/types" "^7.14.2"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
"@babel/types@7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c"
@@ -1179,6 +1289,14 @@
"@babel/helper-validator-identifier" "^7.12.11"
to-fast-properties "^2.0.0"
+"@babel/types@^7.14.0", "@babel/types@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.2.tgz#4208ae003107ef8a057ea8333e56eb64d2f6a2c3"
+ integrity sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.14.0"
+ to-fast-properties "^2.0.0"
+
"@base2/pretty-print-object@1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz#860ce718b0b73f4009e153541faff2cb6b85d047"
@@ -1247,6 +1365,15 @@
babel-eslint "^10.0.2"
eslint-config-prettier "^6.0.0"
+"@csssr/linters@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/@csssr/linters/-/linters-0.1.1.tgz#f508f691af3b8a4938c4ad0e9efff4e1eba9ce41"
+ integrity sha512-rur9iPLlcy5Y7rStgqUZj3d8hr21BoIzYUsltJ3OjCCKMYivSa0Umu6OawiZwTbM79oD4BkqK37qQeZSSj/GhA==
+ dependencies:
+ "@typescript-eslint/parser" "^4.19.0"
+ eslint-config-prettier "^8.1.0"
+ webpack-merge "^5.7.3"
+
"@emotion/babel-plugin@^11.3.0":
version "11.3.0"
resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.3.0.tgz#3a16850ba04d8d9651f07f3fb674b3436a4fb9d7"
@@ -1455,6 +1582,21 @@
minimatch "^3.0.4"
strip-json-comments "^3.1.1"
+"@eslint/eslintrc@^0.4.1":
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.1.tgz#442763b88cecbe3ee0ec7ca6d6dd6168550cbf14"
+ integrity sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.1.1"
+ espree "^7.3.0"
+ globals "^12.1.0"
+ ignore "^4.0.6"
+ import-fresh "^3.2.1"
+ js-yaml "^3.13.1"
+ minimatch "^3.0.4"
+ strip-json-comments "^3.1.1"
+
"@hapi/accept@5.0.1":
version "5.0.1"
resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.1.tgz#068553e867f0f63225a506ed74e899441af53e10"
@@ -2776,11 +2918,16 @@
dependencies:
"@types/istanbul-lib-report" "*"
-"@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6":
+"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6":
version "7.0.7"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
+"@types/json5@^0.0.29":
+ version "0.0.29"
+ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
+ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
+
"@types/markdown-to-jsx@^6.11.3":
version "6.11.3"
resolved "https://registry.yarnpkg.com/@types/markdown-to-jsx/-/markdown-to-jsx-6.11.3.tgz#cdd1619308fecbc8be7e6a26f3751260249b020e"
@@ -2975,6 +3122,76 @@
dependencies:
"@types/yargs-parser" "*"
+"@typescript-eslint/eslint-plugin@^4.19.0":
+ version "4.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.23.0.tgz#29d3c9c81f6200b1fd6d8454cfb007ba176cde80"
+ integrity sha512-tGK1y3KIvdsQEEgq6xNn1DjiFJtl+wn8JJQiETtCbdQxw1vzjXyAaIkEmO2l6Nq24iy3uZBMFQjZ6ECf1QdgGw==
+ dependencies:
+ "@typescript-eslint/experimental-utils" "4.23.0"
+ "@typescript-eslint/scope-manager" "4.23.0"
+ debug "^4.1.1"
+ functional-red-black-tree "^1.0.1"
+ lodash "^4.17.15"
+ regexpp "^3.0.0"
+ semver "^7.3.2"
+ tsutils "^3.17.1"
+
+"@typescript-eslint/experimental-utils@4.23.0":
+ version "4.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.23.0.tgz#f2059434cd6e5672bfeab2fb03b7c0a20622266f"
+ integrity sha512-WAFNiTDnQfrF3Z2fQ05nmCgPsO5o790vOhmWKXbbYQTO9erE1/YsFot5/LnOUizLzU2eeuz6+U/81KV5/hFTGA==
+ dependencies:
+ "@types/json-schema" "^7.0.3"
+ "@typescript-eslint/scope-manager" "4.23.0"
+ "@typescript-eslint/types" "4.23.0"
+ "@typescript-eslint/typescript-estree" "4.23.0"
+ eslint-scope "^5.0.0"
+ eslint-utils "^2.0.0"
+
+"@typescript-eslint/parser@^4.19.0":
+ version "4.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.23.0.tgz#239315d38e42e852bef43a4b0b01bef78f78911c"
+ integrity sha512-wsvjksHBMOqySy/Pi2Q6UuIuHYbgAMwLczRl4YanEPKW5KVxI9ZzDYh3B5DtcZPQTGRWFJrfcbJ6L01Leybwug==
+ dependencies:
+ "@typescript-eslint/scope-manager" "4.23.0"
+ "@typescript-eslint/types" "4.23.0"
+ "@typescript-eslint/typescript-estree" "4.23.0"
+ debug "^4.1.1"
+
+"@typescript-eslint/scope-manager@4.23.0":
+ version "4.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.23.0.tgz#8792ef7eacac122e2ec8fa2d30a59b8d9a1f1ce4"
+ integrity sha512-ZZ21PCFxPhI3n0wuqEJK9omkw51wi2bmeKJvlRZPH5YFkcawKOuRMQMnI8mH6Vo0/DoHSeZJnHiIx84LmVQY+w==
+ dependencies:
+ "@typescript-eslint/types" "4.23.0"
+ "@typescript-eslint/visitor-keys" "4.23.0"
+
+"@typescript-eslint/types@4.23.0":
+ version "4.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.23.0.tgz#da1654c8a5332f4d1645b2d9a1c64193cae3aa3b"
+ integrity sha512-oqkNWyG2SLS7uTWLZf6Sr7Dm02gA5yxiz1RP87tvsmDsguVATdpVguHr4HoGOcFOpCvx9vtCSCyQUGfzq28YCw==
+
+"@typescript-eslint/typescript-estree@4.23.0":
+ version "4.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.23.0.tgz#0753b292097523852428a6f5a1aa8ccc1aae6cd9"
+ integrity sha512-5Sty6zPEVZF5fbvrZczfmLCOcby3sfrSPu30qKoY1U3mca5/jvU5cwsPb/CO6Q3ByRjixTMIVsDkqwIxCf/dMw==
+ dependencies:
+ "@typescript-eslint/types" "4.23.0"
+ "@typescript-eslint/visitor-keys" "4.23.0"
+ debug "^4.1.1"
+ globby "^11.0.1"
+ is-glob "^4.0.1"
+ semver "^7.3.2"
+ tsutils "^3.17.1"
+
+"@typescript-eslint/visitor-keys@4.23.0":
+ version "4.23.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz#7215cc977bd3b4ef22467b9023594e32f9e4e455"
+ integrity sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==
+ dependencies:
+ "@typescript-eslint/types" "4.23.0"
+ eslint-visitor-keys "^2.0.0"
+
"@webassemblyjs/ast@1.9.0":
version "1.9.0"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
@@ -3363,6 +3580,14 @@ argparse@^1.0.7:
dependencies:
sprintf-js "~1.0.2"
+aria-query@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b"
+ integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==
+ dependencies:
+ "@babel/runtime" "^7.10.2"
+ "@babel/runtime-corejs3" "^7.10.2"
+
arr-diff@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
@@ -3388,7 +3613,7 @@ array-flatten@1.1.1:
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
-array-includes@^3.0.3, array-includes@^3.1.2, array-includes@^3.1.3:
+array-includes@^3.0.3, array-includes@^3.1.1, array-includes@^3.1.2, array-includes@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a"
integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==
@@ -3421,7 +3646,7 @@ array-unique@^0.3.2:
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
-array.prototype.flat@^1.2.1:
+array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123"
integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==
@@ -3501,6 +3726,11 @@ assign-symbols@^1.0.0:
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
+ast-types-flow@^0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
+ integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0=
+
ast-types@0.13.2:
version "0.13.2"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.2.tgz#df39b677a911a83f3a049644fb74fdded23cea48"
@@ -3568,6 +3798,16 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+axe-core@^4.0.2:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.2.0.tgz#6594db4ee62f78be79e32a7295d21b099b60668d"
+ integrity sha512-1uIESzroqpaTzt9uX48HO+6gfnKu3RwvWdCcWSrX4csMInJfCo1yvKPNXCwXFRpJqRW25tiASb6No0YH57PXqg==
+
+axobject-query@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
+ integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==
+
babel-eslint@^10.0.2:
version "10.1.0"
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232"
@@ -4343,6 +4583,11 @@ ci-info@^2.0.0:
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+ci-info@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.1.1.tgz#9a32fcefdf7bcdb6f0a7e1c0f8098ec57897b80a"
+ integrity sha512-kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ==
+
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
@@ -4383,6 +4628,13 @@ clean-css@^4.2.3:
dependencies:
source-map "~0.6.0"
+clean-regexp@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7"
+ integrity sha1-jffHquUf02h06PjQW5GAvBGj/tc=
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
clean-stack@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
@@ -4631,6 +4883,14 @@ constants-browserify@1.0.0, constants-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
+contains-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-1.0.0.tgz#3458b332185603e8eed18f518d4a10888a3abc91"
+ integrity sha1-NFizMhhWA+ju0Y9RjUoQiIo6vJE=
+ dependencies:
+ normalize-path "^2.1.1"
+ path-starts-with "^1.0.0"
+
content-disposition@0.5.3:
version "0.5.3"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
@@ -4700,6 +4960,11 @@ core-js-compat@^3.9.0, core-js-compat@^3.9.1:
browserslist "^4.16.3"
semver "7.0.0"
+core-js-pure@^3.0.0:
+ version "3.12.1"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.12.1.tgz#934da8b9b7221e2a2443dc71dfa5bd77a7ea00b8"
+ integrity sha512-1cch+qads4JnDSWsvc7d6nzlKAippwjUlf6vykkTLW53VSV+NkE6muGBToAjEA8pG90cSfcud3JgVmW2ds5TaQ==
+
core-js-pure@^3.8.2:
version "3.11.0"
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.11.0.tgz#e07f25a8f616d178ec16b0354b008ad28b20b2f0"
@@ -4958,6 +5223,11 @@ cyclist@^1.0.1:
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
+damerau-levenshtein@^1.0.6:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d"
+ integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==
+
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
@@ -4984,14 +5254,14 @@ date-fns@2.20.1:
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.20.1.tgz#7e60b7035284a5f83e37500376e738d9f49ecfd3"
integrity sha512-8P5M8Kxbnovd0zfvOs7ipkiVJ3/zZQ0F/nrBW4x5E+I0uAZVZ80h6CKd24fSXQ5TLK5hXMtI4yb2O5rEZdUt2A==
-debug@2, debug@2.6.9, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0:
+debug@2, debug@2.6.9, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
-debug@^3.0.0:
+debug@^3.0.0, debug@^3.2.7:
version "3.2.7"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
@@ -5381,6 +5651,11 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+emoji-regex@^9.0.0:
+ version "9.2.2"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
+ integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
@@ -5589,6 +5864,81 @@ eslint-config-prettier@^8.1.0:
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz#4ef1eaf97afe5176e6a75ddfb57c335121abc5a6"
integrity sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw==
+eslint-import-resolver-node@^0.3.4:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717"
+ integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==
+ dependencies:
+ debug "^2.6.9"
+ resolve "^1.13.1"
+
+eslint-module-utils@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233"
+ integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==
+ dependencies:
+ debug "^3.2.7"
+ pkg-dir "^2.0.0"
+
+eslint-plugin-es@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893"
+ integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==
+ dependencies:
+ eslint-utils "^2.0.0"
+ regexpp "^3.0.0"
+
+eslint-plugin-import@^2.22.1:
+ version "2.23.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.2.tgz#ee15dd68fc7a1a1ba4c653c734e0d01c100d3484"
+ integrity sha512-LmNoRptHBxOP+nb0PIKz1y6OSzCJlB+0g0IGS3XV4KaKk2q4szqQ6s6F1utVf5ZRkxk/QOTjdxe7v4VjS99Bsg==
+ dependencies:
+ array-includes "^3.1.3"
+ array.prototype.flat "^1.2.4"
+ contains-path "^1.0.0"
+ debug "^2.6.9"
+ doctrine "^2.1.0"
+ eslint-import-resolver-node "^0.3.4"
+ eslint-module-utils "^2.6.1"
+ find-up "^2.0.0"
+ has "^1.0.3"
+ is-core-module "^2.4.0"
+ minimatch "^3.0.4"
+ object.values "^1.1.3"
+ pkg-up "^2.0.0"
+ read-pkg-up "^3.0.0"
+ resolve "^1.20.0"
+ tsconfig-paths "^3.9.0"
+
+eslint-plugin-jsx-a11y@^6.4.1:
+ version "6.4.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd"
+ integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==
+ dependencies:
+ "@babel/runtime" "^7.11.2"
+ aria-query "^4.2.2"
+ array-includes "^3.1.1"
+ ast-types-flow "^0.0.7"
+ axe-core "^4.0.2"
+ axobject-query "^2.2.0"
+ damerau-levenshtein "^1.0.6"
+ emoji-regex "^9.0.0"
+ has "^1.0.3"
+ jsx-ast-utils "^3.1.0"
+ language-tags "^1.0.5"
+
+eslint-plugin-node@^11.1.0:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d"
+ integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==
+ dependencies:
+ eslint-plugin-es "^3.0.0"
+ eslint-utils "^2.0.0"
+ ignore "^5.1.1"
+ minimatch "^3.0.4"
+ resolve "^1.10.1"
+ semver "^6.1.0"
+
eslint-plugin-prettier@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz#7079cfa2497078905011e6f82e8dd8453d1371b7"
@@ -5596,12 +5946,17 @@ eslint-plugin-prettier@^3.3.1:
dependencies:
prettier-linter-helpers "^1.0.0"
+eslint-plugin-promise@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45"
+ integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==
+
eslint-plugin-react-hooks@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556"
integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==
-eslint-plugin-react@^7.23.2:
+eslint-plugin-react@^7.23.1:
version "7.23.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz#2d2291b0f95c03728b55869f01102290e792d494"
integrity sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw==
@@ -5619,6 +5974,30 @@ eslint-plugin-react@^7.23.2:
resolve "^2.0.0-next.3"
string.prototype.matchall "^4.0.4"
+eslint-plugin-security-node@^1.0.14:
+ version "1.0.14"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-security-node/-/eslint-plugin-security-node-1.0.14.tgz#14fdba09e8aafb6f6bc53110ff72dcd3c2dc2e91"
+ integrity sha512-PVN8vGDzXHiQJcGLB6Db/yqC2o43ZnTWgckjSiZKRu0jqpyFPCkT4tZPJ1FPqPDQsdgHHD//f18EOb7yw+N/Ig==
+
+eslint-plugin-unicorn@^29.0.0:
+ version "29.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-29.0.0.tgz#7c97cdb5afe932e9f8dc34108e4a5a2a2fbb1906"
+ integrity sha512-R9jGLKb2p6LuOixviByGlH2mkfY72EBELXAPeUufveebN0M2Woa7B7dUO3gN2xPn/+eGjrIm4I2u7dDtr9G4iA==
+ dependencies:
+ ci-info "^3.1.1"
+ clean-regexp "^1.0.0"
+ eslint-template-visitor "^2.3.2"
+ eslint-utils "^2.1.0"
+ eslint-visitor-keys "^2.0.0"
+ import-modules "^2.1.0"
+ lodash "^4.17.20"
+ pluralize "^8.0.0"
+ read-pkg-up "^7.0.1"
+ regexp-tree "^0.1.23"
+ reserved-words "^0.1.2"
+ safe-regex "^2.1.1"
+ semver "^7.3.4"
+
eslint-scope@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
@@ -5627,7 +6006,7 @@ eslint-scope@^4.0.3:
esrecurse "^4.1.0"
estraverse "^4.1.1"
-eslint-scope@^5.1.1:
+eslint-scope@^5.0.0, eslint-scope@^5.1.0, eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
@@ -5635,7 +6014,18 @@ eslint-scope@^5.1.1:
esrecurse "^4.3.0"
estraverse "^4.1.1"
-eslint-utils@^2.1.0:
+eslint-template-visitor@^2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz#b52f96ff311e773a345d79053ccc78275bbc463d"
+ integrity sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==
+ dependencies:
+ "@babel/core" "^7.12.16"
+ "@babel/eslint-parser" "^7.12.16"
+ eslint-visitor-keys "^2.0.0"
+ esquery "^1.3.1"
+ multimap "^1.1.0"
+
+eslint-utils@^2.0.0, eslint-utils@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
@@ -5652,7 +6042,55 @@ eslint-visitor-keys@^2.0.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
-eslint@^7.24.0, eslint@^7.8.1:
+eslint-visitor-keys@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
+ integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
+
+eslint@^7.21.0:
+ version "7.26.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.26.0.tgz#d416fdcdcb3236cd8f282065312813f8c13982f6"
+ integrity sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==
+ dependencies:
+ "@babel/code-frame" "7.12.11"
+ "@eslint/eslintrc" "^0.4.1"
+ ajv "^6.10.0"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.0.1"
+ doctrine "^3.0.0"
+ enquirer "^2.3.5"
+ eslint-scope "^5.1.1"
+ eslint-utils "^2.1.0"
+ eslint-visitor-keys "^2.0.0"
+ espree "^7.3.1"
+ esquery "^1.4.0"
+ esutils "^2.0.2"
+ file-entry-cache "^6.0.1"
+ functional-red-black-tree "^1.0.1"
+ glob-parent "^5.0.0"
+ globals "^13.6.0"
+ ignore "^4.0.6"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ js-yaml "^3.13.1"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.4.1"
+ lodash "^4.17.21"
+ minimatch "^3.0.4"
+ natural-compare "^1.4.0"
+ optionator "^0.9.1"
+ progress "^2.0.0"
+ regexpp "^3.1.0"
+ semver "^7.2.1"
+ strip-ansi "^6.0.0"
+ strip-json-comments "^3.1.0"
+ table "^6.0.4"
+ text-table "^0.2.0"
+ v8-compile-cache "^2.0.3"
+
+eslint@^7.8.1:
version "7.24.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.24.0.tgz#2e44fa62d93892bfdb100521f17345ba54b8513a"
integrity sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ==
@@ -5709,7 +6147,7 @@ esprima@^4.0.0, esprima@^4.0.1:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-esquery@^1.4.0:
+esquery@^1.3.1, esquery@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
@@ -6092,6 +6530,13 @@ find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0:
locate-path "^5.0.0"
path-exists "^4.0.0"
+find-up@^2.0.0, find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
+ dependencies:
+ 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"
@@ -6529,6 +6974,18 @@ globby@11.0.1:
merge2 "^1.3.0"
slash "^3.0.0"
+globby@^11.0.1:
+ version "11.0.3"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb"
+ integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.1.1"
+ ignore "^5.1.4"
+ merge2 "^1.3.0"
+ slash "^3.0.0"
+
globby@^9.2.0:
version "9.2.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d"
@@ -7014,7 +7471,7 @@ ignore@^4.0.3, ignore@^4.0.6:
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
-ignore@^5.1.4:
+ignore@^5.1.1, ignore@^5.1.4:
version "5.1.8"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
@@ -7047,6 +7504,11 @@ import-local@^3.0.2:
pkg-dir "^4.2.0"
resolve-cwd "^3.0.0"
+import-modules@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/import-modules/-/import-modules-2.1.0.tgz#abe7df297cb6c1f19b57246eb8b8bd9664b6d8c2"
+ integrity sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==
+
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -7249,6 +7711,13 @@ is-core-module@^2.2.0:
dependencies:
has "^1.0.3"
+is-core-module@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
+ integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==
+ dependencies:
+ has "^1.0.3"
+
is-data-descriptor@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
@@ -8092,7 +8561,7 @@ json-buffer@3.0.0:
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
-json-parse-better-errors@^1.0.2:
+json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
@@ -8174,7 +8643,7 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.10.0"
-"jsx-ast-utils@^2.4.1 || ^3.0.0":
+"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82"
integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==
@@ -8235,6 +8704,18 @@ klona@^2.0.4:
resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0"
integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==
+language-subtag-registry@~0.3.2:
+ version "0.3.21"
+ resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a"
+ integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==
+
+language-tags@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a"
+ integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=
+ dependencies:
+ language-subtag-registry "~0.3.2"
+
lazy-universal-dotenv@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.1.tgz#a6c8938414bca426ab8c9463940da451a911db38"
@@ -8316,6 +8797,16 @@ listr2@^3.2.2:
through "^2.3.8"
wrap-ansi "^7.0.0"
+load-json-file@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
+ integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^4.0.0"
+ pify "^3.0.0"
+ strip-bom "^3.0.0"
+
loader-runner@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
@@ -8348,6 +8839,14 @@ loader-utils@^1.2.3, loader-utils@^1.4.0:
emojis-list "^3.0.0"
json5 "^1.0.1"
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
@@ -8903,6 +9402,11 @@ ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+multimap@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/multimap/-/multimap-1.1.0.tgz#5263febc085a1791c33b59bb3afc6a76a2a10ca8"
+ integrity sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==
+
mute-stream@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
@@ -9123,7 +9627,7 @@ node-releases@^1.1.61, node-releases@^1.1.69, node-releases@^1.1.71:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb"
integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==
-normalize-package-data@^2.5.0:
+normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
@@ -9422,6 +9926,13 @@ p-limit@3.1.0, p-limit@^3.0.2:
dependencies:
yocto-queue "^0.1.0"
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+ dependencies:
+ p-try "^1.0.0"
+
p-limit@^2.0.0, p-limit@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
@@ -9429,6 +9940,13 @@ p-limit@^2.0.0, p-limit@^2.2.0:
dependencies:
p-try "^2.0.0"
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
+ dependencies:
+ p-limit "^1.1.0"
+
p-locate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
@@ -9476,6 +9994,11 @@ p-timeout@^3.1.0:
dependencies:
p-finally "^1.0.0"
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
@@ -9543,6 +10066,14 @@ parse-entities@^2.0.0:
is-decimal "^1.0.0"
is-hexadecimal "^1.0.0"
+parse-json@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+ integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
+ dependencies:
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+
parse-json@^5.0.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
@@ -9621,6 +10152,13 @@ path-parse@^1.0.6:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+path-starts-with@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/path-starts-with/-/path-starts-with-1.0.0.tgz#b28243015e8b138de572682ac52da42e646ad84e"
+ integrity sha1-soJDAV6LE43lcmgqxS2kLmRq2E4=
+ dependencies:
+ normalize-path "^2.1.1"
+
path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
@@ -9676,6 +10214,13 @@ pirates@^4.0.0, pirates@^4.0.1:
dependencies:
node-modules-regexp "^1.0.0"
+pkg-dir@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
+ integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
+ dependencies:
+ find-up "^2.1.0"
+
pkg-dir@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
@@ -9704,6 +10249,13 @@ pkg-up@3.1.0:
dependencies:
find-up "^3.0.0"
+pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
+ integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=
+ dependencies:
+ find-up "^2.1.0"
+
platform@1.3.6:
version "1.3.6"
resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7"
@@ -9716,6 +10268,11 @@ please-upgrade-node@^3.2.0:
dependencies:
semver-compare "^1.0.0"
+pluralize@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1"
+ integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==
+
pnp-webpack-plugin@1.6.4:
version "1.6.4"
resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149"
@@ -10355,6 +10912,14 @@ react@^17.0.2:
loose-envify "^1.1.0"
object-assign "^4.1.1"
+read-pkg-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07"
+ integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^3.0.0"
+
read-pkg-up@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
@@ -10364,6 +10929,15 @@ read-pkg-up@^7.0.1:
read-pkg "^5.2.0"
type-fest "^0.8.1"
+read-pkg@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
+ integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
+ dependencies:
+ load-json-file "^4.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^3.0.0"
+
read-pkg@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
@@ -10465,6 +11039,11 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
+regexp-tree@^0.1.23, regexp-tree@~0.1.1:
+ version "0.1.23"
+ resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.23.tgz#8a8ce1cc5e971acef62213a7ecdb1f6e18a1f1b2"
+ integrity sha512-+7HWfb4Bvu8Rs2eQTUIpX9I/PlQkYOuTNbRpKLJlQpSgwSkzFYh+pUj0gtvglnOZLKB6YgnIgRuJ2/IlpL48qw==
+
regexp.prototype.flags@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26"
@@ -10473,7 +11052,7 @@ regexp.prototype.flags@^1.3.1:
call-bind "^1.0.2"
define-properties "^1.1.3"
-regexpp@^3.1.0:
+regexpp@^3.0.0, regexpp@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
@@ -10704,6 +11283,11 @@ require-main-filename@^2.0.0:
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+reserved-words@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1"
+ integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=
+
resolve-cwd@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
@@ -10726,7 +11310,7 @@ resolve-url@^0.2.1:
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
-resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.3.2:
+resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2:
version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
@@ -10842,6 +11426,13 @@ safe-regex@^1.1.0:
dependencies:
ret "~0.1.10"
+safe-regex@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2"
+ integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==
+ dependencies:
+ regexp-tree "~0.1.1"
+
"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
@@ -10956,7 +11547,7 @@ semver@7.0.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
+semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
@@ -11578,6 +12169,11 @@ strip-bom-string@^1.0.0:
resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
+
strip-bom@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
@@ -12006,7 +12602,17 @@ ts-pnp@^1.1.6:
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
-tslib@^1.9.0, tslib@^1.9.3:
+tsconfig-paths@^3.9.0:
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
+ integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==
+ dependencies:
+ "@types/json5" "^0.0.29"
+ json5 "^1.0.1"
+ minimist "^1.2.0"
+ strip-bom "^3.0.0"
+
+tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
@@ -12016,6 +12622,13 @@ tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==
+tsutils@^3.17.1:
+ version "3.21.0"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
+ integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
+ dependencies:
+ tslib "^1.8.1"
+
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
@@ -12622,6 +13235,14 @@ webpack-log@^2.0.0:
ansi-colors "^3.0.0"
uuid "^3.3.2"
+webpack-merge@^5.7.3:
+ version "5.7.3"
+ resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213"
+ integrity sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==
+ dependencies:
+ clone-deep "^4.0.1"
+ wildcard "^2.0.0"
+
webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3:
version "1.4.3"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
@@ -12758,6 +13379,11 @@ widest-line@^3.1.0:
dependencies:
string-width "^4.0.0"
+wildcard@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec"
+ integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==
+
word-wrap@^1.2.3, word-wrap@~1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"