From e876dbf6d274ab64ee1d060801b9907b039f630a Mon Sep 17 00:00:00 2001 From: Sabertaz Date: Thu, 21 Nov 2024 03:28:08 +0800 Subject: [PATCH] fix(eslint): update eslint to v9 (#1336) --- .prettierrc.json | 2 +- app/post/[slug]/page.tsx | 2 +- app/tag/[tag]/page.tsx | 2 +- components/Article/Article.test.tsx | 2 +- components/Article/Article.tsx | 12 +- components/Article/ArticleComments.test.tsx | 2 +- components/Article/ArticleComments.tsx | 4 +- components/Article/ArticleContent.tsx | 4 +- components/Article/ArticleHeader.tsx | 4 +- components/Article/ArticleNav.tsx | 2 +- components/Article/ArticleToc.test.tsx | 2 +- components/Article/ArticleToc.tsx | 2 +- components/Aside/Aside.test.tsx | 2 +- components/Aside/Aside.tsx | 5 +- components/Blockquote/Blockquote.test.tsx | 2 +- components/Blockquote/Blockquote.tsx | 2 +- components/BooksGrid/BookCard.tsx | 2 +- components/BooksGrid/BooksGrid.test.tsx | 2 +- components/BooksGrid/BooksGrid.tsx | 4 +- components/Card/Card.tsx | 2 +- components/CodeBlocks/BlockCode.tsx | 2 +- components/CodeBlocks/InlineCode.test.tsx | 2 +- components/CodeBlocks/LiveCode.test.tsx | 2 +- components/CodeBlocks/Pre.test.tsx | 2 +- components/CodeBlocks/Pre.tsx | 4 +- components/CodeBlocks/utils.ts | 2 +- components/Container/Container.test.tsx | 2 +- components/Container/Container.tsx | 2 +- components/CopyButton/CopyButton.tsx | 6 +- components/Editor/Editor.test.tsx | 2 +- components/Editor/Editor.tsx | 2 +- components/Editor/utils.ts | 1 + .../ErrorBoundary/ErrorBoundary.test.tsx | 4 +- components/ErrorBoundary/ErrorBoundary.tsx | 2 +- .../FlexContainer/FlexContainer.test.tsx | 2 +- components/FlexContainer/FlexContainer.tsx | 2 +- components/Footer/Footer.test.tsx | 4 +- components/Footer/Footer.tsx | 4 +- components/Footnote/Footnote.test.tsx | 2 +- components/Footnote/Footnote.tsx | 2 +- components/GithubCard/GithubCard.test.tsx | 4 +- components/GithubCard/GithubCard.tsx | 8 +- components/GithubCard/GithubCardContent.tsx | 2 +- components/GithubCard/GithubCardHeader.tsx | 2 +- components/GithubCard/GithubRepoCard.tsx | 2 +- components/Header/DesktopNav.tsx | 6 +- components/Header/Header.test.tsx | 2 +- components/Header/Header.tsx | 4 +- components/Headings/H1.tsx | 2 +- components/Headings/H2.tsx | 2 +- components/Headings/H3.tsx | 2 +- components/Headings/H4.tsx | 2 +- components/Headings/H5.tsx | 2 +- components/Headings/H6.tsx | 2 +- components/Headings/Heading.tsx | 2 +- components/Headings/Headings.test.tsx | 2 +- components/Icons/Hamburger.tsx | 2 +- components/Icons/IconFactory.tsx | 2 +- components/Icons/Icons.test.tsx | 2 +- components/Icons/SocialIcon.tsx | 9 +- components/Icons/index.ts | 10 +- components/ImageCard/ImageCard.test.tsx | 2 +- components/ImageCard/ImageCard.tsx | 2 +- components/LandingNav/LandingNav.test.tsx | 2 +- components/LandingNav/LandingNav.tsx | 8 +- components/LandingNav/LandingNavLink.tsx | 2 +- components/Link/Link.tsx | 2 +- components/Lists/Item.tsx | 6 +- components/Lists/Lists.test.tsx | 2 +- components/Lists/Ol.tsx | 2 +- components/Lists/Ul.tsx | 2 +- components/Lists/index.ts | 2 +- components/MDX/MDX.test.tsx | 2 +- components/MDX/MDX.tsx | 10 +- components/Motion/Bounce.tsx | 4 +- components/Motion/Ease.test.tsx | 2 +- components/Motion/Ease.tsx | 2 +- components/Motion/Slide.tsx | 2 +- components/Motion/Switch.test.tsx | 2 +- components/Motion/Switch.tsx | 2 +- components/Motion/Toggle.test.tsx | 2 +- components/Motion/Toggle.tsx | 4 +- .../NotFoundResult/NotFoundResult.test.tsx | 2 +- components/Paragraph/Paragraph.tsx | 2 +- components/PostsGrid/DesktopPostsGrid.tsx | 4 +- components/PostsGrid/MobilePostsGrid.tsx | 4 +- components/PostsGrid/PostCard.test.tsx | 4 +- components/PostsGrid/PostCard.tsx | 6 +- components/PostsGrid/PostsGrid.test.tsx | 2 +- components/PostsGrid/PostsGrid.tsx | 2 +- components/PostsList/PostsList.test.tsx | 4 +- components/PostsList/PostsList.tsx | 4 +- .../PostsSearchBar/PostsSearchBar.test.tsx | 3 +- components/PostsSearchBar/PostsSearchBar.tsx | 4 +- components/Providers/AntdProvider.tsx | 2 +- components/Providers/ProgressBarProvider.tsx | 2 +- components/SocialButton/SocialButton.test.tsx | 6 +- components/SocialButton/SocialButton.tsx | 6 +- components/SocialGroup/SocialGroup.test.tsx | 4 +- components/SocialGroup/SocialGroup.tsx | 2 +- components/Table/Table.test.tsx | 2 +- components/Table/Table.tsx | 2 +- components/Tags/IconTag.tsx | 2 +- components/Tags/LinkTag.tsx | 6 +- components/TagsCloud/TagsCloud.test.tsx | 2 +- components/TagsCloud/TagsCloud.tsx | 2 +- components/Texts/Anchor.tsx | 2 +- components/Texts/Span.tsx | 2 +- components/Texts/Text.tsx | 2 +- components/Texts/Texts.test.tsx | 2 +- components/ThemeSwitch/ThemeSwitch.test.tsx | 2 +- components/ThemeSwitch/ThemeSwitch.tsx | 6 +- components/TypingTitle/TypingTitle.test.tsx | 2 +- components/TypingTitle/TypingTitle.tsx | 4 +- config/site.ts | 4 +- hooks/useCopyToClipboard.test.ts | 2 +- hooks/useDarkMode.ts | 2 +- hooks/useTypingEffect.test.ts | 2 +- hooks/useVisibility.test.tsx | 2 +- layouts/LandingLayout.test.tsx | 2 +- layouts/LandingLayout.tsx | 2 +- layouts/Layout.test.tsx | 2 +- layouts/Layout.tsx | 2 +- layouts/PostLayout.test.tsx | 2 +- layouts/PostLayout.tsx | 2 +- lib/getGitHubData.ts | 4 +- lib/getPostsData.ts | 4 +- lib/getSitemap.ts | 2 +- mocks/data.ts | 2 +- package.json | 6 +- pnpm-lock.yaml | 1819 +++++++++-------- styles/globals.css | 27 +- tailwind.config.ts | 1 + 133 files changed, 1158 insertions(+), 1079 deletions(-) diff --git a/.prettierrc.json b/.prettierrc.json index e1e4d6b48..94977ccf4 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -2,7 +2,7 @@ "arrowParens": "always", "bracketSpacing": true, "endOfLine": "lf", - "printWidth": 80, + "printWidth": 120, "semi": false, "singleQuote": true, "tabWidth": 2, diff --git a/app/post/[slug]/page.tsx b/app/post/[slug]/page.tsx index f35a403b3..c945a06bd 100644 --- a/app/post/[slug]/page.tsx +++ b/app/post/[slug]/page.tsx @@ -1,5 +1,5 @@ -import type { ParsedUrlQuery } from 'node:querystring' import type { Metadata } from 'next' +import type { ParsedUrlQuery } from 'node:querystring' import { Article } from '@/components' import { getMetadata } from '@/config' import { PostLayout } from '@/layouts' diff --git a/app/tag/[tag]/page.tsx b/app/tag/[tag]/page.tsx index 41f68efa8..ffe706fb9 100644 --- a/app/tag/[tag]/page.tsx +++ b/app/tag/[tag]/page.tsx @@ -1,5 +1,5 @@ -import type { ParsedUrlQuery } from 'node:querystring' import type { Metadata } from 'next' +import type { ParsedUrlQuery } from 'node:querystring' import { PostsList, TagsCloud } from '@/components' import { getMetadata } from '@/config' import { Layout } from '@/layouts' diff --git a/components/Article/Article.test.tsx b/components/Article/Article.test.tsx index 0910f2144..6925ce730 100644 --- a/components/Article/Article.test.tsx +++ b/components/Article/Article.test.tsx @@ -1,6 +1,6 @@ -import Article from './Article' import mockData from '@/mocks/data' import { render } from '@/utils' +import Article from './Article' describe('Article', () => { const mockBasePost = mockData.basePosts[0] diff --git a/components/Article/Article.tsx b/components/Article/Article.tsx index 156027465..f565a6a42 100644 --- a/components/Article/Article.tsx +++ b/components/Article/Article.tsx @@ -1,14 +1,14 @@ -import ArticleComments from './ArticleComments' -import ArticleContent from './ArticleContent' -import ArticleHeader from './ArticleHeader' -import ArticleNav from './ArticleNav' -import ArticleToc from './ArticleToc' +import type { PostType, SiteConfig } from '@/types' import Container from '@/components/Container' import Divider from '@/components/Divider' import { Comment } from '@/components/Icons' import SocialGroup from '@/components/SocialGroup' import { siteConfig } from '@/config' -import type { PostType, SiteConfig } from '@/types' +import ArticleComments from './ArticleComments' +import ArticleContent from './ArticleContent' +import ArticleHeader from './ArticleHeader' +import ArticleNav from './ArticleNav' +import ArticleToc from './ArticleToc' interface Props { post: PostType diff --git a/components/Article/ArticleComments.test.tsx b/components/Article/ArticleComments.test.tsx index 4e4c690da..1489be7f1 100644 --- a/components/Article/ArticleComments.test.tsx +++ b/components/Article/ArticleComments.test.tsx @@ -1,6 +1,6 @@ +import { render } from '@/utils' import { axe } from 'jest-axe' import ArticleComments from './ArticleComments' -import { render } from '@/utils' describe('ArticleComments', () => { it('should render correctly (snapshot)', () => { diff --git a/components/Article/ArticleComments.tsx b/components/Article/ArticleComments.tsx index 03affe613..a984a505b 100644 --- a/components/Article/ArticleComments.tsx +++ b/components/Article/ArticleComments.tsx @@ -1,9 +1,9 @@ 'use client' -import cx from 'classnames' -import styles from './ArticleComments.module.css' import { siteConfig } from '@/config' import { useDisqus } from '@/hooks' +import cx from 'classnames' +import styles from './ArticleComments.module.css' interface Props { url?: string diff --git a/components/Article/ArticleContent.tsx b/components/Article/ArticleContent.tsx index 856b98536..8bf7ca518 100644 --- a/components/Article/ArticleContent.tsx +++ b/components/Article/ArticleContent.tsx @@ -1,8 +1,8 @@ 'use client' -import { MDXRemote } from '@alisowski/next-mdx-remote' -import MDX from '@/components/MDX' import type { PostType } from '@/types' +import MDX from '@/components/MDX' +import { MDXRemote } from '@alisowski/next-mdx-remote' interface Props { source: PostType['source'] diff --git a/components/Article/ArticleHeader.tsx b/components/Article/ArticleHeader.tsx index fae147b25..234a3cd8b 100644 --- a/components/Article/ArticleHeader.tsx +++ b/components/Article/ArticleHeader.tsx @@ -1,10 +1,10 @@ -import styles from './ArticleHeader.module.css' +import type { PostMeta } from '@/types' import { H1 } from '@/components/Headings' import { Calendar, ClockCircle, Edit } from '@/components/Icons' import { Slide } from '@/components/Motion' import { IconTag, LinkTag } from '@/components/Tags' import { siteConfig } from '@/config' -import type { PostMeta } from '@/types' +import styles from './ArticleHeader.module.css' interface Props { post: PostMeta diff --git a/components/Article/ArticleNav.tsx b/components/Article/ArticleNav.tsx index 7e8ad5c90..3cb1dda79 100644 --- a/components/Article/ArticleNav.tsx +++ b/components/Article/ArticleNav.tsx @@ -1,8 +1,8 @@ +import type { PostMeta } from '@/types' import FlexContainer from '@/components/FlexContainer' import { ArrowLeft, ArrowRight, Home } from '@/components/Icons' import Link from '@/components/Link' import { Bounce } from '@/components/Motion' -import type { PostMeta } from '@/types' interface Props { prevPost: PostMeta['prevPost'] diff --git a/components/Article/ArticleToc.test.tsx b/components/Article/ArticleToc.test.tsx index 61f01136d..766db2856 100644 --- a/components/Article/ArticleToc.test.tsx +++ b/components/Article/ArticleToc.test.tsx @@ -1,5 +1,5 @@ -import ArticleToc from './ArticleToc' import { render } from '@/utils' +import ArticleToc from './ArticleToc' describe('ArticleToc', () => { it('should render correctly (snapshot)', () => { diff --git a/components/Article/ArticleToc.tsx b/components/Article/ArticleToc.tsx index 4250ec560..0cc419ecf 100644 --- a/components/Article/ArticleToc.tsx +++ b/components/Article/ArticleToc.tsx @@ -1,8 +1,8 @@ 'use client' +import Anchor from '@/components/Anchor' import { useEffect, useState } from 'react' import styles from './ArticleToc.module.css' -import Anchor from '@/components/Anchor' interface Props { slug: string diff --git a/components/Aside/Aside.test.tsx b/components/Aside/Aside.test.tsx index b4fc47a96..e80d90d1f 100644 --- a/components/Aside/Aside.test.tsx +++ b/components/Aside/Aside.test.tsx @@ -1,5 +1,5 @@ -import Aside from './Aside' import { render } from '@/utils' +import Aside from './Aside' describe('Aside', () => { const types = [ diff --git a/components/Aside/Aside.tsx b/components/Aside/Aside.tsx index d2a326381..02ae89534 100644 --- a/components/Aside/Aside.tsx +++ b/components/Aside/Aside.tsx @@ -1,7 +1,7 @@ -import cx from 'classnames' import type { ReactNode } from 'react' -import styles from './Aside.module.css' import Alert from '@/components/Alert' +import cx from 'classnames' +import styles from './Aside.module.css' interface Props { type?: string @@ -24,6 +24,7 @@ function normalizeType(type?: string) { case 'error': case 'danger': return 'error' + case undefined: default: return 'info' } diff --git a/components/Blockquote/Blockquote.test.tsx b/components/Blockquote/Blockquote.test.tsx index f6c6c5b85..3a387d5dd 100644 --- a/components/Blockquote/Blockquote.test.tsx +++ b/components/Blockquote/Blockquote.test.tsx @@ -1,5 +1,5 @@ -import Blockquote from './Blockquote' import { render } from '@/utils' +import Blockquote from './Blockquote' describe('Blockquote', () => { it('should render correctly (snapshot)', () => { diff --git a/components/Blockquote/Blockquote.tsx b/components/Blockquote/Blockquote.tsx index a061b61c8..4f31da22c 100644 --- a/components/Blockquote/Blockquote.tsx +++ b/components/Blockquote/Blockquote.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { BlockquoteHTMLAttributes } from 'react' +import cx from 'classnames' import styles from './Blockquote.module.css' interface Props extends BlockquoteHTMLAttributes {} diff --git a/components/BooksGrid/BookCard.tsx b/components/BooksGrid/BookCard.tsx index f41e1feaa..38d956dd3 100644 --- a/components/BooksGrid/BookCard.tsx +++ b/components/BooksGrid/BookCard.tsx @@ -1,11 +1,11 @@ 'use client' +import type { Book } from '@/types' import Badge from '@/components/Badge' import { Card, Meta } from '@/components/Card' import { Book as BookIcon } from '@/components/Icons' import { Span } from '@/components/Texts' import { getColorByName } from '@/config' -import type { Book } from '@/types' interface Props { book: Book diff --git a/components/BooksGrid/BooksGrid.test.tsx b/components/BooksGrid/BooksGrid.test.tsx index db843aaaf..5b37a1caf 100644 --- a/components/BooksGrid/BooksGrid.test.tsx +++ b/components/BooksGrid/BooksGrid.test.tsx @@ -1,6 +1,6 @@ +import { render } from '@/utils' import { axe } from 'jest-axe' import BooksGrid from './BooksGrid' -import { render } from '@/utils' describe('BooksGrid', () => { it('should render correctly (snapshot)', () => { diff --git a/components/BooksGrid/BooksGrid.tsx b/components/BooksGrid/BooksGrid.tsx index 8336565ed..9438d23df 100644 --- a/components/BooksGrid/BooksGrid.tsx +++ b/components/BooksGrid/BooksGrid.tsx @@ -1,8 +1,8 @@ -import BookCard from './BookCard' +import type { Book } from '@/types' import Col from '@/components/Col' import Row from '@/components/Row' import { siteConfig } from '@/config' -import type { Book } from '@/types' +import BookCard from './BookCard' interface Props { books?: Book[] diff --git a/components/Card/Card.tsx b/components/Card/Card.tsx index 5e419264d..2be639ad3 100644 --- a/components/Card/Card.tsx +++ b/components/Card/Card.tsx @@ -1,5 +1,5 @@ -import { Card as AntCard } from 'antd' import type { CardMetaProps, CardProps } from 'antd/lib/card' +import { Card as AntCard } from 'antd' import cx from 'classnames' interface Props extends CardProps {} diff --git a/components/CodeBlocks/BlockCode.tsx b/components/CodeBlocks/BlockCode.tsx index ff23887be..eed482a2b 100644 --- a/components/CodeBlocks/BlockCode.tsx +++ b/components/CodeBlocks/BlockCode.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { Language } from 'prism-react-renderer' +import cx from 'classnames' import Highlight, { defaultProps } from 'prism-react-renderer' import styles from './BlockCode.module.css' import theme from './monokai' diff --git a/components/CodeBlocks/InlineCode.test.tsx b/components/CodeBlocks/InlineCode.test.tsx index 5cc7e950b..fd7b14ec6 100644 --- a/components/CodeBlocks/InlineCode.test.tsx +++ b/components/CodeBlocks/InlineCode.test.tsx @@ -1,5 +1,5 @@ -import InlineCode from './InlineCode' import { render } from '@/utils' +import InlineCode from './InlineCode' describe('InlineCode', () => { it('should render correctly (snapshot)', () => { diff --git a/components/CodeBlocks/LiveCode.test.tsx b/components/CodeBlocks/LiveCode.test.tsx index f6ef19dbe..dbb5e8cbc 100644 --- a/components/CodeBlocks/LiveCode.test.tsx +++ b/components/CodeBlocks/LiveCode.test.tsx @@ -1,5 +1,5 @@ -import LiveCode from './LiveCode' import { render } from '@/utils' +import LiveCode from './LiveCode' describe('LiveCode', () => { it('should render live code correctly (snapshot)', () => { diff --git a/components/CodeBlocks/Pre.test.tsx b/components/CodeBlocks/Pre.test.tsx index eef289ca0..6e56fca21 100644 --- a/components/CodeBlocks/Pre.test.tsx +++ b/components/CodeBlocks/Pre.test.tsx @@ -1,5 +1,5 @@ -import Pre from './Pre' import { render } from '@/utils' +import Pre from './Pre' describe('Pre', () => { const languages = [ diff --git a/components/CodeBlocks/Pre.tsx b/components/CodeBlocks/Pre.tsx index 8689ff9a6..9cca036a1 100644 --- a/components/CodeBlocks/Pre.tsx +++ b/components/CodeBlocks/Pre.tsx @@ -1,6 +1,7 @@ +import type { HTMLProps, ReactElement } from 'react' +import CopyButton from '@/components/CopyButton' import cx from 'classnames' import dynamic from 'next/dynamic' -import type { HTMLProps, ReactElement } from 'react' import BlockCode from './BlockCode' import styles from './Pre.module.css' import { @@ -9,7 +10,6 @@ import { normalizeLanguageName, normalizeLines, } from './utils' -import CopyButton from '@/components/CopyButton' const LiveCode = dynamic(async () => import('./LiveCode')) diff --git a/components/CodeBlocks/utils.ts b/components/CodeBlocks/utils.ts index 09ba6f6c9..0deaa449a 100644 --- a/components/CodeBlocks/utils.ts +++ b/components/CodeBlocks/utils.ts @@ -1,5 +1,5 @@ -import parseNumericRange from 'parse-numeric-range' import type { Language } from 'prism-react-renderer' +import parseNumericRange from 'parse-numeric-range' const normalizeCode = (code: string = '') => code.replace(/\n+$/, '') diff --git a/components/Container/Container.test.tsx b/components/Container/Container.test.tsx index c6aa950ed..c9a903d77 100644 --- a/components/Container/Container.test.tsx +++ b/components/Container/Container.test.tsx @@ -1,6 +1,6 @@ +import { render, screen } from '@/utils' import { axe } from 'jest-axe' import Container from './Container' -import { render, screen } from '@/utils' describe('Container', () => { it('should render correctly (snapshot)', () => { diff --git a/components/Container/Container.tsx b/components/Container/Container.tsx index ac115e4ec..a869a2422 100644 --- a/components/Container/Container.tsx +++ b/components/Container/Container.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { CSSProperties, HTMLProps, ReactNode } from 'react' +import cx from 'classnames' interface Props extends HTMLProps { children: ReactNode diff --git a/components/CopyButton/CopyButton.tsx b/components/CopyButton/CopyButton.tsx index a15ccd08d..0658e886f 100644 --- a/components/CopyButton/CopyButton.tsx +++ b/components/CopyButton/CopyButton.tsx @@ -1,11 +1,11 @@ 'use client' -import cx from 'classnames' -import { useReducedMotion } from 'framer-motion' -import styles from './CopyButton.module.css' import { Check, Copy } from '@/components/Icons' import { Toggle } from '@/components/Motion' import { useCopyToClipboard } from '@/hooks' +import cx from 'classnames' +import { useReducedMotion } from 'framer-motion' +import styles from './CopyButton.module.css' interface Props { code: string diff --git a/components/Editor/Editor.test.tsx b/components/Editor/Editor.test.tsx index d6a14fb3c..3135b110e 100644 --- a/components/Editor/Editor.test.tsx +++ b/components/Editor/Editor.test.tsx @@ -1,5 +1,5 @@ -import Editor from './Editor' import { render, screen } from '@/utils' +import Editor from './Editor' describe('Editor', () => { it('should render sandpack correctly', () => { diff --git a/components/Editor/Editor.tsx b/components/Editor/Editor.tsx index 1301b3d41..6470d034e 100644 --- a/components/Editor/Editor.tsx +++ b/components/Editor/Editor.tsx @@ -1,7 +1,7 @@ import type { SandpackPredefinedTemplate } from '@codesandbox/sandpack-react' +import type { ReactElement, ReactNode } from 'react' import { Sandpack } from '@codesandbox/sandpack-react' import { monokaiPro } from '@codesandbox/sandpack-themes' -import type { ReactElement, ReactNode } from 'react' import { Children } from 'react' import { normalizeFilepath } from './utils' diff --git a/components/Editor/utils.ts b/components/Editor/utils.ts index d126970e0..ad6f1c9d3 100644 --- a/components/Editor/utils.ts +++ b/components/Editor/utils.ts @@ -14,6 +14,7 @@ function languageToFilepath(language?: string): string { return '/App.tsx' case 'vue': return '/src/App.vue' + case undefined: default: return '/App.tsx' } diff --git a/components/ErrorBoundary/ErrorBoundary.test.tsx b/components/ErrorBoundary/ErrorBoundary.test.tsx index 31a7cd853..5504f3eb0 100644 --- a/components/ErrorBoundary/ErrorBoundary.test.tsx +++ b/components/ErrorBoundary/ErrorBoundary.test.tsx @@ -1,7 +1,7 @@ -import { axe } from 'jest-axe' import type { JSXElementConstructor, ReactNode } from 'react' -import ErrorBoundary from './ErrorBoundary' import { render, screen } from '@/utils' +import { axe } from 'jest-axe' +import ErrorBoundary from './ErrorBoundary' describe('ErrorBoundary', () => { const ComponentWithError = ({ shouldThrow }: { shouldThrow?: boolean }) => { diff --git a/components/ErrorBoundary/ErrorBoundary.tsx b/components/ErrorBoundary/ErrorBoundary.tsx index ce6e4a9ff..9305d87e8 100644 --- a/components/ErrorBoundary/ErrorBoundary.tsx +++ b/components/ErrorBoundary/ErrorBoundary.tsx @@ -1,10 +1,10 @@ 'use client' import type { ErrorInfo } from 'react' -import { Component } from 'react' import Paragraph from '@/components/Paragraph' import Result from '@/components/Result' import { Text } from '@/components/Texts' +import { Component } from 'react' interface Props { children: JSX.Element diff --git a/components/FlexContainer/FlexContainer.test.tsx b/components/FlexContainer/FlexContainer.test.tsx index 64167be92..494bfdae7 100644 --- a/components/FlexContainer/FlexContainer.test.tsx +++ b/components/FlexContainer/FlexContainer.test.tsx @@ -1,6 +1,6 @@ +import { render, screen } from '@/utils' import { axe } from 'jest-axe' import FlexContainer from './FlexContainer' -import { render, screen } from '@/utils' describe('FlexContainer', () => { it('should render correctly (snapshot)', () => { diff --git a/components/FlexContainer/FlexContainer.tsx b/components/FlexContainer/FlexContainer.tsx index eed93c0b5..88eaf4073 100644 --- a/components/FlexContainer/FlexContainer.tsx +++ b/components/FlexContainer/FlexContainer.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { CSSProperties, HTMLProps, ReactNode } from 'react' +import cx from 'classnames' interface Props extends HTMLProps { children: ReactNode diff --git a/components/Footer/Footer.test.tsx b/components/Footer/Footer.test.tsx index f5374467d..e285a6b8b 100644 --- a/components/Footer/Footer.test.tsx +++ b/components/Footer/Footer.test.tsx @@ -1,7 +1,7 @@ -import { axe } from 'jest-axe' -import Footer from './Footer' import mockData from '@/mocks/data' import { render } from '@/utils' +import { axe } from 'jest-axe' +import Footer from './Footer' describe('Footer', () => { const mockTime = mockData.time diff --git a/components/Footer/Footer.tsx b/components/Footer/Footer.tsx index abbf78b92..7dfb65aae 100644 --- a/components/Footer/Footer.tsx +++ b/components/Footer/Footer.tsx @@ -1,11 +1,11 @@ -import FooterTime from './FooterTime' +import type { BuildTime, SiteConfig, SocialType } from '@/types' import Col from '@/components/Col' import Container from '@/components/Container' import Divider from '@/components/Divider' import Row from '@/components/Row' import SocialButton from '@/components/SocialButton' import { siteConfig, socialList } from '@/config' -import type { BuildTime, SiteConfig, SocialType } from '@/types' +import FooterTime from './FooterTime' interface Props { buildTime: BuildTime diff --git a/components/Footnote/Footnote.test.tsx b/components/Footnote/Footnote.test.tsx index c544878dd..24873a069 100644 --- a/components/Footnote/Footnote.test.tsx +++ b/components/Footnote/Footnote.test.tsx @@ -1,5 +1,5 @@ -import Footnote from './Footnote' import { render } from '@/utils' +import Footnote from './Footnote' describe('Footnote', () => { it('should render correctly (snapshot)', () => { diff --git a/components/Footnote/Footnote.tsx b/components/Footnote/Footnote.tsx index e81b3ffcf..fde965e6c 100644 --- a/components/Footnote/Footnote.tsx +++ b/components/Footnote/Footnote.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { ReactNode } from 'react' +import cx from 'classnames' import styles from './Footnote.module.css' interface Props { diff --git a/components/GithubCard/GithubCard.test.tsx b/components/GithubCard/GithubCard.test.tsx index 800fd3471..35a6557b5 100644 --- a/components/GithubCard/GithubCard.test.tsx +++ b/components/GithubCard/GithubCard.test.tsx @@ -1,7 +1,7 @@ -import { axe } from 'jest-axe' -import GithubCard from './GithubCard' import mockData from '@/mocks/data' import { render } from '@/utils' +import { axe } from 'jest-axe' +import GithubCard from './GithubCard' describe('GithubCard', () => { const mockBaseProfile = mockData.baseProfile diff --git a/components/GithubCard/GithubCard.tsx b/components/GithubCard/GithubCard.tsx index 0f1e54064..7e0aff00e 100644 --- a/components/GithubCard/GithubCard.tsx +++ b/components/GithubCard/GithubCard.tsx @@ -1,13 +1,13 @@ 'use client' -import GithubCardContent from './GithubCardContent' -import GithubCardHeader from './GithubCardHeader' -import GithubRepoCard from './GithubRepoCard' +import type { Profile, Repo } from '@/types' import Avatar from '@/components/Avatar' import Badge from '@/components/Badge' import { Card, Meta } from '@/components/Card' import { getColorByName } from '@/config' -import type { Profile, Repo } from '@/types' +import GithubCardContent from './GithubCardContent' +import GithubCardHeader from './GithubCardHeader' +import GithubRepoCard from './GithubRepoCard' interface Props { profile: Profile diff --git a/components/GithubCard/GithubCardContent.tsx b/components/GithubCard/GithubCardContent.tsx index 35b804972..764de377e 100644 --- a/components/GithubCard/GithubCardContent.tsx +++ b/components/GithubCard/GithubCardContent.tsx @@ -1,7 +1,7 @@ +import type { Profile } from '@/types' import { Environment, InfoCircle, User } from '@/components/Icons' import Space from '@/components/Space' import { Span } from '@/components/Texts' -import type { Profile } from '@/types' interface Props { profile: Profile diff --git a/components/GithubCard/GithubCardHeader.tsx b/components/GithubCard/GithubCardHeader.tsx index 5e90c1197..6e95d2484 100644 --- a/components/GithubCard/GithubCardHeader.tsx +++ b/components/GithubCard/GithubCardHeader.tsx @@ -1,6 +1,6 @@ +import type { Profile } from '@/types' import { Github } from '@/components/Icons' import { Span } from '@/components/Texts' -import type { Profile } from '@/types' interface Props { profile: Profile diff --git a/components/GithubCard/GithubRepoCard.tsx b/components/GithubCard/GithubRepoCard.tsx index 72a8e1c7c..08f497cc3 100644 --- a/components/GithubCard/GithubRepoCard.tsx +++ b/components/GithubCard/GithubRepoCard.tsx @@ -1,10 +1,10 @@ +import type { Repo } from '@/types' import Badge from '@/components/Badge' import { Card, Meta } from '@/components/Card' import { Branches, Star } from '@/components/Icons' import { Tag } from '@/components/Tags' import { Span } from '@/components/Texts' import { getColorByName } from '@/config' -import type { Repo } from '@/types' interface Props { repo: Repo diff --git a/components/Header/DesktopNav.tsx b/components/Header/DesktopNav.tsx index b5442e173..4153f3eb0 100644 --- a/components/Header/DesktopNav.tsx +++ b/components/Header/DesktopNav.tsx @@ -1,5 +1,4 @@ -import cx from 'classnames' -import styles from './DesktopNav.module.css' +import type { PostMeta } from '@/types' import Link from '@/components/Link' import LocalImage from '@/components/LocalImage' import Menu from '@/components/Menu' @@ -7,7 +6,8 @@ import PostsSearchBar from '@/components/PostsSearchBar' import ThemeSwitch from '@/components/ThemeSwitch' import { routes } from '@/config' import logo from '@/images/logo-full.png' -import type { PostMeta } from '@/types' +import cx from 'classnames' +import styles from './DesktopNav.module.css' interface Props { fixed: boolean diff --git a/components/Header/Header.test.tsx b/components/Header/Header.test.tsx index 78b9d63f2..0659763f4 100644 --- a/components/Header/Header.test.tsx +++ b/components/Header/Header.test.tsx @@ -1,6 +1,6 @@ -import Header from './Header' import mockData from '@/mocks/data' import { render, waitFor } from '@/utils' +import Header from './Header' describe('Header', () => { const mockPosts = mockData.posts diff --git a/components/Header/Header.tsx b/components/Header/Header.tsx index 12a694bdc..fc77bf900 100644 --- a/components/Header/Header.tsx +++ b/components/Header/Header.tsx @@ -1,10 +1,10 @@ 'use client' +import type { PostMeta } from '@/types' +import { useVisibility } from '@/hooks' import { useCallback, useRef, useState } from 'react' import DesktopNav from './DesktopNav' import MobileNav from './MobileNav' -import type { PostMeta } from '@/types' -import { useVisibility } from '@/hooks' interface Props { posts: PostMeta[] diff --git a/components/Headings/H1.tsx b/components/Headings/H1.tsx index 6df93ddcd..605e61525 100644 --- a/components/Headings/H1.tsx +++ b/components/Headings/H1.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { ReactNode } from 'react' +import cx from 'classnames' import Heading from './Heading' import styles from './Headings.module.css' diff --git a/components/Headings/H2.tsx b/components/Headings/H2.tsx index d0d2ed8c3..257ca6344 100644 --- a/components/Headings/H2.tsx +++ b/components/Headings/H2.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { ReactNode } from 'react' +import cx from 'classnames' import Heading from './Heading' import styles from './Headings.module.css' diff --git a/components/Headings/H3.tsx b/components/Headings/H3.tsx index 34504423c..4426252f6 100644 --- a/components/Headings/H3.tsx +++ b/components/Headings/H3.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { ReactNode } from 'react' +import cx from 'classnames' import Heading from './Heading' import styles from './Headings.module.css' diff --git a/components/Headings/H4.tsx b/components/Headings/H4.tsx index 6677ab00f..08b4d4139 100644 --- a/components/Headings/H4.tsx +++ b/components/Headings/H4.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { ReactNode } from 'react' +import cx from 'classnames' import Heading from './Heading' import styles from './Headings.module.css' diff --git a/components/Headings/H5.tsx b/components/Headings/H5.tsx index d6a0ff75b..dc8856837 100644 --- a/components/Headings/H5.tsx +++ b/components/Headings/H5.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { ReactNode } from 'react' +import cx from 'classnames' import Heading from './Heading' import styles from './Headings.module.css' diff --git a/components/Headings/H6.tsx b/components/Headings/H6.tsx index 2862dd278..69d021850 100644 --- a/components/Headings/H6.tsx +++ b/components/Headings/H6.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { ReactNode } from 'react' +import cx from 'classnames' import Heading from './Heading' import styles from './Headings.module.css' diff --git a/components/Headings/Heading.tsx b/components/Headings/Heading.tsx index 41415fe33..b03cef94d 100644 --- a/components/Headings/Heading.tsx +++ b/components/Headings/Heading.tsx @@ -1,7 +1,7 @@ 'use client' -import { Typography } from 'antd' import type { TitleProps } from 'antd/lib/typography/Title' +import { Typography } from 'antd' import cx from 'classnames' import styles from './Headings.module.css' diff --git a/components/Headings/Headings.test.tsx b/components/Headings/Headings.test.tsx index 8e7746e9b..6c12ae9a1 100644 --- a/components/Headings/Headings.test.tsx +++ b/components/Headings/Headings.test.tsx @@ -1,10 +1,10 @@ +import { render } from '@/utils' import H1 from './H1' import H2 from './H2' import H3 from './H3' import H4 from './H4' import H5 from './H5' import H6 from './H6' -import { render } from '@/utils' describe('Headings', () => { const Headings = { diff --git a/components/Icons/Hamburger.tsx b/components/Icons/Hamburger.tsx index cea321ce7..44f09c446 100644 --- a/components/Icons/Hamburger.tsx +++ b/components/Icons/Hamburger.tsx @@ -1,8 +1,8 @@ 'use client' import type { MotionProps } from 'framer-motion' -import { motion } from 'framer-motion' import type { KeyboardEvent } from 'react' +import { motion } from 'framer-motion' import { useCallback, useState } from 'react' import IconFactory from './IconFactory' diff --git a/components/Icons/IconFactory.tsx b/components/Icons/IconFactory.tsx index 5b83e1cad..196d6aa06 100644 --- a/components/Icons/IconFactory.tsx +++ b/components/Icons/IconFactory.tsx @@ -1,5 +1,5 @@ -import Icon from '@ant-design/icons' import type { KeyboardEvent, SVGProps } from 'react' +import Icon from '@ant-design/icons' interface Props { onClick?: () => void diff --git a/components/Icons/Icons.test.tsx b/components/Icons/Icons.test.tsx index 1a62fcaf3..ebee01061 100644 --- a/components/Icons/Icons.test.tsx +++ b/components/Icons/Icons.test.tsx @@ -1,7 +1,7 @@ +import { render } from '@/utils' import { axe } from 'jest-axe' import Comment from './Comment' import Hamburger from './Hamburger' -import { render } from '@/utils' describe('Icons', () => { const Icons = [Comment, Hamburger] diff --git a/components/Icons/SocialIcon.tsx b/components/Icons/SocialIcon.tsx index cd0df8549..105b6e11e 100644 --- a/components/Icons/SocialIcon.tsx +++ b/components/Icons/SocialIcon.tsx @@ -1,3 +1,5 @@ +import type { SocialType } from '@/types' +import { socialList } from '@/config' import { FacebookOutlined, GithubOutlined, @@ -7,19 +9,22 @@ import { XOutlined, } from '@ant-design/icons' import styles from './SocialIcon.module.css' -import { socialList } from '@/config' -import type { SocialType } from '@/types' function SocialIcon(type: SocialType): JSX.Element { switch (type) { + case 'github': case socialList.github: return + case 'twitter': case socialList.twitter: return + case 'facebook': case socialList.facebook: return + case 'linkedin': case socialList.linkedin: return + case 'weibo': case socialList.weibo: return default: diff --git a/components/Icons/index.ts b/components/Icons/index.ts index 85dc14dc3..138920079 100644 --- a/components/Icons/index.ts +++ b/components/Icons/index.ts @@ -1,3 +1,8 @@ +export { default as Comment } from './Comment' +export { default as Hamburger } from './Hamburger' +export { default as Moon } from './Moon' +export { default as SocialIcon } from './SocialIcon' +export { default as Sun } from './Sun' export { ArrowLeftOutlined as ArrowLeft, ArrowRightOutlined as ArrowRight, @@ -17,8 +22,3 @@ export { StarOutlined as Star, UserOutlined as User, } from '@ant-design/icons' -export { default as Comment } from './Comment' -export { default as Hamburger } from './Hamburger' -export { default as Moon } from './Moon' -export { default as SocialIcon } from './SocialIcon' -export { default as Sun } from './Sun' diff --git a/components/ImageCard/ImageCard.test.tsx b/components/ImageCard/ImageCard.test.tsx index 714bead57..60282590f 100644 --- a/components/ImageCard/ImageCard.test.tsx +++ b/components/ImageCard/ImageCard.test.tsx @@ -1,5 +1,5 @@ -import ImageCard from './ImageCard' import { render } from '@/utils' +import ImageCard from './ImageCard' describe('ImageCard', () => { it('should render placeholder image correctly (snapshot)', () => { diff --git a/components/ImageCard/ImageCard.tsx b/components/ImageCard/ImageCard.tsx index f20b411cd..655b663f7 100644 --- a/components/ImageCard/ImageCard.tsx +++ b/components/ImageCard/ImageCard.tsx @@ -1,6 +1,6 @@ -import cx from 'classnames' import { Card, Meta } from '@/components/Card' import Image from '@/components/Image' +import cx from 'classnames' interface Props { src?: string diff --git a/components/LandingNav/LandingNav.test.tsx b/components/LandingNav/LandingNav.test.tsx index 406e36c1e..c9e1f7b59 100644 --- a/components/LandingNav/LandingNav.test.tsx +++ b/components/LandingNav/LandingNav.test.tsx @@ -1,5 +1,5 @@ -import LandingNav from './LandingNav' import { act, render, screen } from '@/utils' +import LandingNav from './LandingNav' describe('LandingNav', () => { beforeAll(() => { diff --git a/components/LandingNav/LandingNav.tsx b/components/LandingNav/LandingNav.tsx index 08c45b93f..14624b1b1 100644 --- a/components/LandingNav/LandingNav.tsx +++ b/components/LandingNav/LandingNav.tsx @@ -1,14 +1,14 @@ 'use client' +import type { Route } from '@/types' import type { MotionProps } from 'framer-motion' import type { KeyboardEvent } from 'react' +import { Hamburger } from '@/components/Icons' +import { Switch } from '@/components/Motion' +import { routes as defaultRoutes } from '@/config' import { useCallback, useState } from 'react' import styles from './LandingNav.module.css' import LandingNavLink from './LandingNavLink' -import type { Route } from '@/types' -import { routes as defaultRoutes } from '@/config' -import { Switch } from '@/components/Motion' -import { Hamburger } from '@/components/Icons' interface Props { routes?: Route[] diff --git a/components/LandingNav/LandingNavLink.tsx b/components/LandingNav/LandingNavLink.tsx index a77288393..d973e060a 100644 --- a/components/LandingNav/LandingNavLink.tsx +++ b/components/LandingNav/LandingNavLink.tsx @@ -1,8 +1,8 @@ import type { ReactNode } from 'react' -import styles from './LandingNavLink.module.css' import Link from '@/components/Link' import { Bounce } from '@/components/Motion' import Tooltip from '@/components/Tooltip' +import styles from './LandingNavLink.module.css' interface Props { title: string diff --git a/components/Link/Link.tsx b/components/Link/Link.tsx index 12bad75c7..c39611c3f 100644 --- a/components/Link/Link.tsx +++ b/components/Link/Link.tsx @@ -1,5 +1,5 @@ -import NextLink from 'next/link' import type { ReactNode } from 'react' +import NextLink from 'next/link' interface Props { href: string diff --git a/components/Lists/Item.tsx b/components/Lists/Item.tsx index 34d8515d9..83d946543 100644 --- a/components/Lists/Item.tsx +++ b/components/Lists/Item.tsx @@ -1,8 +1,8 @@ -import cx from 'classnames' import type { HTMLProps } from 'react' -import styles from './Item.module.css' -import { siteConfig } from '@/config' import { ArrowRight } from '@/components/Icons' +import { siteConfig } from '@/config' +import cx from 'classnames' +import styles from './Item.module.css' interface Props extends HTMLProps {} diff --git a/components/Lists/Lists.test.tsx b/components/Lists/Lists.test.tsx index 3777a2f65..eabcc6b3e 100644 --- a/components/Lists/Lists.test.tsx +++ b/components/Lists/Lists.test.tsx @@ -1,7 +1,7 @@ +import { render } from '@/utils' import Item from './Item' import Ol from './Ol' import Ul from './Ul' -import { render } from '@/utils' describe('Lists', () => { const Lists = { diff --git a/components/Lists/Ol.tsx b/components/Lists/Ol.tsx index 36df3cabc..1ca455880 100644 --- a/components/Lists/Ol.tsx +++ b/components/Lists/Ol.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { DetailedHTMLProps, OlHTMLAttributes } from 'react' +import cx from 'classnames' import styles from './Ol.module.css' interface Props diff --git a/components/Lists/Ul.tsx b/components/Lists/Ul.tsx index fbf5ce547..37499ffa9 100644 --- a/components/Lists/Ul.tsx +++ b/components/Lists/Ul.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { DetailedHTMLProps, OlHTMLAttributes } from 'react' +import cx from 'classnames' import styles from './Ul.module.css' interface Props diff --git a/components/Lists/index.ts b/components/Lists/index.ts index 7685a310a..aeebc9667 100644 --- a/components/Lists/index.ts +++ b/components/Lists/index.ts @@ -1,4 +1,4 @@ -export { List } from 'antd' export { default as Item } from './Item' export { default as Ol } from './Ol' export { default as Ul } from './Ul' +export { List } from 'antd' diff --git a/components/MDX/MDX.test.tsx b/components/MDX/MDX.test.tsx index da96046d5..053363e90 100644 --- a/components/MDX/MDX.test.tsx +++ b/components/MDX/MDX.test.tsx @@ -1,8 +1,8 @@ +import { render } from '@/utils' import MDXCode from './MDXCode' import MDXDivider from './MDXDivider' import MDXInput from './MDXInput' import MDXPre from './MDXPre' -import { render } from '@/utils' describe('MDXDivider', () => { it('should render correctly (snapshot)', () => { diff --git a/components/MDX/MDX.tsx b/components/MDX/MDX.tsx index f1c226ccb..c665ced86 100644 --- a/components/MDX/MDX.tsx +++ b/components/MDX/MDX.tsx @@ -1,8 +1,3 @@ -import dynamic from 'next/dynamic' -import Code from './MDXCode' -import Divider from './MDXDivider' -import Input from './MDXInput' -import Pre from './MDXPre' import Aside from '@/components/Aside' import Blockquote from '@/components/Blockquote' import Button from '@/components/Button' @@ -13,6 +8,11 @@ import { Item, Ol, Ul } from '@/components/Lists' import Paragraph from '@/components/Paragraph' import Table from '@/components/Table' import { Anchor, Delete, Emphasis, Strong } from '@/components/Texts' +import dynamic from 'next/dynamic' +import Code from './MDXCode' +import Divider from './MDXDivider' +import Input from './MDXInput' +import Pre from './MDXPre' const Editor = dynamic(async () => import('@/components/Editor')) diff --git a/components/Motion/Bounce.tsx b/components/Motion/Bounce.tsx index 9df8bd243..3f8a5efd2 100644 --- a/components/Motion/Bounce.tsx +++ b/components/Motion/Bounce.tsx @@ -1,9 +1,9 @@ 'use client' -import cx from 'classnames' import type { MotionProps } from 'framer-motion' -import { motion } from 'framer-motion' import type { ReactNode } from 'react' +import cx from 'classnames' +import { motion } from 'framer-motion' interface Props { children: ReactNode diff --git a/components/Motion/Ease.test.tsx b/components/Motion/Ease.test.tsx index a600eac3f..84d4fb203 100644 --- a/components/Motion/Ease.test.tsx +++ b/components/Motion/Ease.test.tsx @@ -1,5 +1,5 @@ -import Ease from './Ease' import { render } from '@/utils' +import Ease from './Ease' describe('Ease', () => { it('should render correctly (snapshot)', () => { diff --git a/components/Motion/Ease.tsx b/components/Motion/Ease.tsx index b64f4bcdf..47820d833 100644 --- a/components/Motion/Ease.tsx +++ b/components/Motion/Ease.tsx @@ -1,8 +1,8 @@ 'use client' import type { MotionProps } from 'framer-motion' -import { motion } from 'framer-motion' import type { ReactNode } from 'react' +import { motion } from 'framer-motion' interface Props { children: ReactNode diff --git a/components/Motion/Slide.tsx b/components/Motion/Slide.tsx index 1e53fdc63..e5692a0e0 100644 --- a/components/Motion/Slide.tsx +++ b/components/Motion/Slide.tsx @@ -1,8 +1,8 @@ 'use client' import type { MotionProps } from 'framer-motion' -import { motion } from 'framer-motion' import type { ReactNode } from 'react' +import { motion } from 'framer-motion' interface Props { children: ReactNode diff --git a/components/Motion/Switch.test.tsx b/components/Motion/Switch.test.tsx index 427b7f8ff..4a09f182f 100644 --- a/components/Motion/Switch.test.tsx +++ b/components/Motion/Switch.test.tsx @@ -1,5 +1,5 @@ -import Switch from './Switch' import { render } from '@/utils' +import Switch from './Switch' describe('Switch', () => { it('should render correctly (snapshot)', () => { diff --git a/components/Motion/Switch.tsx b/components/Motion/Switch.tsx index 317e3a5d7..6703d1f93 100644 --- a/components/Motion/Switch.tsx +++ b/components/Motion/Switch.tsx @@ -1,8 +1,8 @@ 'use client' import type { MotionProps } from 'framer-motion' -import { motion } from 'framer-motion' import type { AriaRole } from 'react' +import { motion } from 'framer-motion' interface Props { children?: React.ReactNode diff --git a/components/Motion/Toggle.test.tsx b/components/Motion/Toggle.test.tsx index 2854bc000..b4b13b95a 100644 --- a/components/Motion/Toggle.test.tsx +++ b/components/Motion/Toggle.test.tsx @@ -1,5 +1,5 @@ -import Toggle from './Toggle' import { fireEvent, render, screen } from '@/utils' +import Toggle from './Toggle' describe('Toggle', () => { const cases = [ diff --git a/components/Motion/Toggle.tsx b/components/Motion/Toggle.tsx index c73c37641..b0faf46f3 100644 --- a/components/Motion/Toggle.tsx +++ b/components/Motion/Toggle.tsx @@ -1,9 +1,9 @@ 'use client' -import cx from 'classnames' import type { MotionProps } from 'framer-motion' -import { AnimatePresence, motion } from 'framer-motion' import type { KeyboardEvent, ReactNode } from 'react' +import cx from 'classnames' +import { AnimatePresence, motion } from 'framer-motion' import { useCallback } from 'react' import styles from './Toggle.module.css' diff --git a/components/NotFoundResult/NotFoundResult.test.tsx b/components/NotFoundResult/NotFoundResult.test.tsx index ac3780b73..73cc62a00 100644 --- a/components/NotFoundResult/NotFoundResult.test.tsx +++ b/components/NotFoundResult/NotFoundResult.test.tsx @@ -1,5 +1,5 @@ -import NotFoundResult from './NotFoundResult' import { render } from '@/utils' +import NotFoundResult from './NotFoundResult' describe('NotFoundResult', () => { it('should render correctly (snapshot)', () => { diff --git a/components/Paragraph/Paragraph.tsx b/components/Paragraph/Paragraph.tsx index d920c581b..5c1d69b88 100644 --- a/components/Paragraph/Paragraph.tsx +++ b/components/Paragraph/Paragraph.tsx @@ -1,6 +1,6 @@ +import type { ReactNode } from 'react' import { Typography } from 'antd' import cx from 'classnames' -import type { ReactNode } from 'react' import styles from './Paragraph.module.css' interface Props { diff --git a/components/PostsGrid/DesktopPostsGrid.tsx b/components/PostsGrid/DesktopPostsGrid.tsx index 637a59c29..0c17952d2 100644 --- a/components/PostsGrid/DesktopPostsGrid.tsx +++ b/components/PostsGrid/DesktopPostsGrid.tsx @@ -1,6 +1,6 @@ -import PostCard from './PostCard' -import FlexContainer from '@/components/FlexContainer' import type { PostMeta } from '@/types' +import FlexContainer from '@/components/FlexContainer' +import PostCard from './PostCard' interface Props { posts: PostMeta[] diff --git a/components/PostsGrid/MobilePostsGrid.tsx b/components/PostsGrid/MobilePostsGrid.tsx index 93bc99217..5b6aa7950 100644 --- a/components/PostsGrid/MobilePostsGrid.tsx +++ b/components/PostsGrid/MobilePostsGrid.tsx @@ -1,6 +1,6 @@ -import PostCard from './PostCard' -import FlexContainer from '@/components/FlexContainer' import type { PostMeta } from '@/types' +import FlexContainer from '@/components/FlexContainer' +import PostCard from './PostCard' interface Props { posts: PostMeta[] diff --git a/components/PostsGrid/PostCard.test.tsx b/components/PostsGrid/PostCard.test.tsx index aecdc3567..31e2e6669 100644 --- a/components/PostsGrid/PostCard.test.tsx +++ b/components/PostsGrid/PostCard.test.tsx @@ -1,7 +1,7 @@ -import { axe } from 'jest-axe' -import PostCard from './PostCard' import mockData from '@/mocks/data' import { render } from '@/utils' +import { axe } from 'jest-axe' +import PostCard from './PostCard' describe('PostCard', () => { const mockBasePost = mockData.basePosts[0] diff --git a/components/PostsGrid/PostCard.tsx b/components/PostsGrid/PostCard.tsx index 10b3d8598..f465a5498 100644 --- a/components/PostsGrid/PostCard.tsx +++ b/components/PostsGrid/PostCard.tsx @@ -1,5 +1,4 @@ -import cx from 'classnames' -import styles from './PostCard.module.css' +import type { PostMeta } from '@/types' import Container from '@/components/Container' import { H2 } from '@/components/Headings' import { Calendar, Read } from '@/components/Icons' @@ -7,7 +6,8 @@ import Link from '@/components/Link' import { Slide } from '@/components/Motion' import Skeleton from '@/components/Skeleton' import { IconTag, LinkTag } from '@/components/Tags' -import type { PostMeta } from '@/types' +import cx from 'classnames' +import styles from './PostCard.module.css' interface Props { post: PostMeta diff --git a/components/PostsGrid/PostsGrid.test.tsx b/components/PostsGrid/PostsGrid.test.tsx index 663f8465c..f580aa646 100644 --- a/components/PostsGrid/PostsGrid.test.tsx +++ b/components/PostsGrid/PostsGrid.test.tsx @@ -1,6 +1,6 @@ -import PostsGrid from './PostsGrid' import mockData from '@/mocks/data' import { render } from '@/utils' +import PostsGrid from './PostsGrid' describe('PostsGrid', () => { const mockPosts = mockData.posts diff --git a/components/PostsGrid/PostsGrid.tsx b/components/PostsGrid/PostsGrid.tsx index 20260632a..27a478ac4 100644 --- a/components/PostsGrid/PostsGrid.tsx +++ b/components/PostsGrid/PostsGrid.tsx @@ -1,6 +1,6 @@ +import type { PostMeta } from '@/types' import DesktopPostsGrid from './DesktopPostsGrid' import MobilePostsGrid from './MobilePostsGrid' -import type { PostMeta } from '@/types' interface Props { posts: PostMeta[] diff --git a/components/PostsList/PostsList.test.tsx b/components/PostsList/PostsList.test.tsx index bfb8ff4e0..5e28bba8f 100644 --- a/components/PostsList/PostsList.test.tsx +++ b/components/PostsList/PostsList.test.tsx @@ -1,7 +1,7 @@ -import { axe } from 'jest-axe' -import PostsList from './PostsList' import mockData from '@/mocks/data' import { render } from '@/utils' +import { axe } from 'jest-axe' +import PostsList from './PostsList' describe('PostsList', () => { const mockPosts = mockData.posts diff --git a/components/PostsList/PostsList.tsx b/components/PostsList/PostsList.tsx index 185d41bec..c90e4dd95 100644 --- a/components/PostsList/PostsList.tsx +++ b/components/PostsList/PostsList.tsx @@ -1,9 +1,9 @@ 'use client' -import styles from './PostsList.module.css' +import type { PostMeta } from '@/types' import Link from '@/components/Link' import { List } from '@/components/Lists' -import type { PostMeta } from '@/types' +import styles from './PostsList.module.css' interface Props { posts: PostMeta[] diff --git a/components/PostsSearchBar/PostsSearchBar.test.tsx b/components/PostsSearchBar/PostsSearchBar.test.tsx index 143365ff4..a712966f2 100644 --- a/components/PostsSearchBar/PostsSearchBar.test.tsx +++ b/components/PostsSearchBar/PostsSearchBar.test.tsx @@ -1,11 +1,12 @@ -import PostsSearchBar from './PostsSearchBar' import mockData from '@/mocks/data' import { fireEvent, render, screen } from '@/utils' +import PostsSearchBar from './PostsSearchBar' describe('PostsSearchBar', () => { const mockPosts = mockData.posts beforeEach(() => { + // eslint-disable-next-line ts/unbound-method -- jest mock. const { getComputedStyle } = window window.getComputedStyle = element => getComputedStyle(element) }) diff --git a/components/PostsSearchBar/PostsSearchBar.tsx b/components/PostsSearchBar/PostsSearchBar.tsx index f29e88478..a2b4d9fcc 100644 --- a/components/PostsSearchBar/PostsSearchBar.tsx +++ b/components/PostsSearchBar/PostsSearchBar.tsx @@ -1,11 +1,11 @@ 'use client' +import type { PostMeta } from '@/types' import type { ReactNode } from 'react' -import { useCallback, useState } from 'react' import AutoComplete from '@/components/AutoComplete' import Input from '@/components/Input' import Link from '@/components/Link' -import type { PostMeta } from '@/types' +import { useCallback, useState } from 'react' interface Props { posts: PostMeta[] diff --git a/components/Providers/AntdProvider.tsx b/components/Providers/AntdProvider.tsx index 57dce8457..70d72f6b7 100644 --- a/components/Providers/AntdProvider.tsx +++ b/components/Providers/AntdProvider.tsx @@ -1,8 +1,8 @@ 'use client' +import type { ThemeProviderProps } from 'antd-style' import { AntdRegistry } from '@ant-design/nextjs-registry' import { ThemeProvider } from 'antd-style' -import type { ThemeProviderProps } from 'antd-style' interface Props> extends ThemeProviderProps {} diff --git a/components/Providers/ProgressBarProvider.tsx b/components/Providers/ProgressBarProvider.tsx index b6021b8f6..12828f25f 100644 --- a/components/Providers/ProgressBarProvider.tsx +++ b/components/Providers/ProgressBarProvider.tsx @@ -1,7 +1,7 @@ 'use client' -import { AppProgressBar as ProgressBar } from 'next-nprogress-bar' import { siteConfig } from '@/config' +import { AppProgressBar as ProgressBar } from 'next-nprogress-bar' export default function ProgressBarProvider({ children }: { children: React.ReactNode }) { return ( diff --git a/components/SocialButton/SocialButton.test.tsx b/components/SocialButton/SocialButton.test.tsx index 048a9b485..78ba48d2b 100644 --- a/components/SocialButton/SocialButton.test.tsx +++ b/components/SocialButton/SocialButton.test.tsx @@ -1,8 +1,8 @@ -import { axe } from 'jest-axe' -import SocialButton from './SocialButton' -import { siteConfig } from '@/config' import type { SocialType } from '@/types' +import { siteConfig } from '@/config' import { render, screen } from '@/utils' +import { axe } from 'jest-axe' +import SocialButton from './SocialButton' describe('SocialButton', () => { const mockSocials = [...Object.keys(siteConfig.socials), 'default'] diff --git a/components/SocialButton/SocialButton.tsx b/components/SocialButton/SocialButton.tsx index 6553a16b1..3f104077b 100644 --- a/components/SocialButton/SocialButton.tsx +++ b/components/SocialButton/SocialButton.tsx @@ -1,10 +1,10 @@ -import cx from 'classnames' +import type { SocialType } from '@/types' import type { HTMLProps } from 'react' -import styles from './SocialButton.module.css' import Button from '@/components/Button' import { SocialIcon } from '@/components/Icons' import { Bounce } from '@/components/Motion' -import type { SocialType } from '@/types' +import cx from 'classnames' +import styles from './SocialButton.module.css' interface Props extends HTMLProps { type: SocialType diff --git a/components/SocialGroup/SocialGroup.test.tsx b/components/SocialGroup/SocialGroup.test.tsx index d89cab807..8da32dc4c 100644 --- a/components/SocialGroup/SocialGroup.test.tsx +++ b/components/SocialGroup/SocialGroup.test.tsx @@ -1,7 +1,7 @@ -import { axe } from 'jest-axe' -import SocialGroup from './SocialGroup' import { siteConfig } from '@/config' import { render } from '@/utils' +import { axe } from 'jest-axe' +import SocialGroup from './SocialGroup' describe('SocialGroup', () => { const mockUrl = siteConfig.siteUrl diff --git a/components/SocialGroup/SocialGroup.tsx b/components/SocialGroup/SocialGroup.tsx index 889b010d0..c5bac9e4b 100644 --- a/components/SocialGroup/SocialGroup.tsx +++ b/components/SocialGroup/SocialGroup.tsx @@ -1,7 +1,7 @@ +import type { SocialColor, SocialType } from '@/types' import SocialButton from '@/components/SocialButton' import Space from '@/components/Space' import { socialColors, socialList, socialQuery } from '@/config' -import type { SocialColor, SocialType } from '@/types' interface Props { url: string diff --git a/components/Table/Table.test.tsx b/components/Table/Table.test.tsx index e321ee7b5..ec6bc45be 100644 --- a/components/Table/Table.test.tsx +++ b/components/Table/Table.test.tsx @@ -1,5 +1,5 @@ -import Table from './Table' import { render } from '@/utils' +import Table from './Table' describe('Table', () => { it('should render correctly (snapshot)', () => { diff --git a/components/Table/Table.tsx b/components/Table/Table.tsx index e3a36dfb7..6a1939b2c 100644 --- a/components/Table/Table.tsx +++ b/components/Table/Table.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { HTMLProps } from 'react' +import cx from 'classnames' import styles from './Table.module.css' interface Props extends HTMLProps {} diff --git a/components/Tags/IconTag.tsx b/components/Tags/IconTag.tsx index 218da7832..30a042dac 100644 --- a/components/Tags/IconTag.tsx +++ b/components/Tags/IconTag.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { ReactNode } from 'react' +import cx from 'classnames' import styles from './IconTag.module.css' import Tag from './Tag' diff --git a/components/Tags/LinkTag.tsx b/components/Tags/LinkTag.tsx index 74ad862e6..e69fc644d 100644 --- a/components/Tags/LinkTag.tsx +++ b/components/Tags/LinkTag.tsx @@ -1,9 +1,9 @@ +import type { Tag as TagType } from '@/types' +import Link from '@/components/Link' +import { getColorByName } from '@/config' import cx from 'classnames' import styles from './LinkTag.module.css' import Tag from './Tag' -import Link from '@/components/Link' -import { getColorByName } from '@/config' -import type { Tag as TagType } from '@/types' interface Props { tag?: TagType diff --git a/components/TagsCloud/TagsCloud.test.tsx b/components/TagsCloud/TagsCloud.test.tsx index 159519b90..054eb615c 100644 --- a/components/TagsCloud/TagsCloud.test.tsx +++ b/components/TagsCloud/TagsCloud.test.tsx @@ -1,6 +1,6 @@ +import { render } from '@/utils' import { axe } from 'jest-axe' import TagsCloud from './TagsCloud' -import { render } from '@/utils' describe('TagsCloud', () => { const mockTag = 'JavaScript' diff --git a/components/TagsCloud/TagsCloud.tsx b/components/TagsCloud/TagsCloud.tsx index f609ffe75..471cf1704 100644 --- a/components/TagsCloud/TagsCloud.tsx +++ b/components/TagsCloud/TagsCloud.tsx @@ -1,6 +1,6 @@ +import type { Tag, TagsType } from '@/types' import { LinkTag } from '@/components/Tags' import { colors, getColorByName, siteConfig } from '@/config' -import type { Tag, TagsType } from '@/types' interface Props { tags: TagsType diff --git a/components/Texts/Anchor.tsx b/components/Texts/Anchor.tsx index 058d52739..d98029336 100644 --- a/components/Texts/Anchor.tsx +++ b/components/Texts/Anchor.tsx @@ -1,6 +1,6 @@ +import type { ReactNode } from 'react' import { Typography } from 'antd' import cx from 'classnames' -import type { ReactNode } from 'react' import styles from './Anchor.module.css' interface Props { diff --git a/components/Texts/Span.tsx b/components/Texts/Span.tsx index a5a9a0e25..6e6482204 100644 --- a/components/Texts/Span.tsx +++ b/components/Texts/Span.tsx @@ -1,5 +1,5 @@ -import cx from 'classnames' import type { ReactNode } from 'react' +import cx from 'classnames' interface SpanProps { children: ReactNode diff --git a/components/Texts/Text.tsx b/components/Texts/Text.tsx index bba61d310..0c4d023e8 100644 --- a/components/Texts/Text.tsx +++ b/components/Texts/Text.tsx @@ -1,5 +1,5 @@ -import { Typography } from 'antd' import type { TextProps } from 'antd/lib/typography/Text' +import { Typography } from 'antd' import cx from 'classnames' interface Props extends TextProps {} diff --git a/components/Texts/Texts.test.tsx b/components/Texts/Texts.test.tsx index d77b033ed..03f43699b 100644 --- a/components/Texts/Texts.test.tsx +++ b/components/Texts/Texts.test.tsx @@ -1,8 +1,8 @@ +import { render } from '@/utils' import Anchor from './Anchor' import Delete from './Delete' import Emphasis from './Emphasis' import Strong from './Strong' -import { render } from '@/utils' describe('Texts', () => { const Texts = { diff --git a/components/ThemeSwitch/ThemeSwitch.test.tsx b/components/ThemeSwitch/ThemeSwitch.test.tsx index 94a2fbd2c..16b9057d0 100644 --- a/components/ThemeSwitch/ThemeSwitch.test.tsx +++ b/components/ThemeSwitch/ThemeSwitch.test.tsx @@ -1,5 +1,5 @@ -import ThemeSwitch from './ThemeSwitch' import { fireEvent, render, screen } from '@/utils' +import ThemeSwitch from './ThemeSwitch' describe('ThemeSwitch', () => { it('should switch dark mode when clicked', () => { diff --git a/components/ThemeSwitch/ThemeSwitch.tsx b/components/ThemeSwitch/ThemeSwitch.tsx index 3149676d2..7774c0b8c 100644 --- a/components/ThemeSwitch/ThemeSwitch.tsx +++ b/components/ThemeSwitch/ThemeSwitch.tsx @@ -1,12 +1,12 @@ 'use client' +import { Moon, Sun } from '@/components/Icons' +import { Toggle } from '@/components/Motion' +import { useDarkMode } from '@/hooks' import cx from 'classnames' import { useReducedMotion } from 'framer-motion' import { useCallback } from 'react' import styles from './ThemeSwitch.module.css' -import { useDarkMode } from '@/hooks' -import { Toggle } from '@/components/Motion' -import { Moon, Sun } from '@/components/Icons' interface Props { className?: string diff --git a/components/TypingTitle/TypingTitle.test.tsx b/components/TypingTitle/TypingTitle.test.tsx index f3d51909a..e03ee7239 100644 --- a/components/TypingTitle/TypingTitle.test.tsx +++ b/components/TypingTitle/TypingTitle.test.tsx @@ -1,6 +1,6 @@ +import { render, screen, waitFor } from '@/utils' import { axe } from 'jest-axe' import TypingTitle from './TypingTitle' -import { render, screen, waitFor } from '@/utils' describe('TypingTitle', () => { jest.mock('typed.js') diff --git a/components/TypingTitle/TypingTitle.tsx b/components/TypingTitle/TypingTitle.tsx index e8e39ef85..7fc263885 100644 --- a/components/TypingTitle/TypingTitle.tsx +++ b/components/TypingTitle/TypingTitle.tsx @@ -1,9 +1,9 @@ 'use client' -import cx from 'classnames' -import { useRef } from 'react' import { siteConfig } from '@/config' import { useTypingEffect } from '@/hooks' +import cx from 'classnames' +import { useRef } from 'react' interface Props { titles?: string[] diff --git a/config/site.ts b/config/site.ts index e916bc5e0..4f584a9f8 100644 --- a/config/site.ts +++ b/config/site.ts @@ -1,6 +1,6 @@ -import { colors } from './colors' -import type { SocialType } from './social' import type { GitHub } from '@/types' +import type { SocialType } from './social' +import { colors } from './colors' interface Book { title: string diff --git a/hooks/useCopyToClipboard.test.ts b/hooks/useCopyToClipboard.test.ts index ce9e56f4a..c557f3b3b 100644 --- a/hooks/useCopyToClipboard.test.ts +++ b/hooks/useCopyToClipboard.test.ts @@ -1,6 +1,6 @@ -import useCopyToClipboard from './useCopyToClipboard' import { mockNavigatorClipboard } from '@/mocks/utils' import { act, renderHook, waitFor } from '@/utils' +import useCopyToClipboard from './useCopyToClipboard' describe('useCopyToClipboard', () => { it('should early return when clipboard missed', async () => { diff --git a/hooks/useDarkMode.ts b/hooks/useDarkMode.ts index 365e23fd5..8a1fd8915 100644 --- a/hooks/useDarkMode.ts +++ b/hooks/useDarkMode.ts @@ -1,5 +1,5 @@ -import { useThemeMode } from 'antd-style' import type { Dispatch, SetStateAction } from 'react' +import { useThemeMode } from 'antd-style' import { useEffect } from 'react' import { useLocalStorage, useMedia } from 'react-use' diff --git a/hooks/useTypingEffect.test.ts b/hooks/useTypingEffect.test.ts index 536696c1a..21a17f963 100644 --- a/hooks/useTypingEffect.test.ts +++ b/hooks/useTypingEffect.test.ts @@ -1,5 +1,5 @@ -import useTypingEffect from './useTypingEffect' import { renderHook } from '@/utils' +import useTypingEffect from './useTypingEffect' describe('useTypingEffect', () => { const mockRef = { current: null } diff --git a/hooks/useVisibility.test.tsx b/hooks/useVisibility.test.tsx index de7e80879..e2770431f 100644 --- a/hooks/useVisibility.test.tsx +++ b/hooks/useVisibility.test.tsx @@ -1,6 +1,6 @@ +import { fireEvent, render, waitFor } from '@/utils' import { useRef } from 'react' import useVisibility from './useVisibility' -import { fireEvent, render, waitFor } from '@/utils' describe('useVisibility', () => { const onBottomPassed = jest.fn() diff --git a/layouts/LandingLayout.test.tsx b/layouts/LandingLayout.test.tsx index 92014377b..cf7939789 100644 --- a/layouts/LandingLayout.test.tsx +++ b/layouts/LandingLayout.test.tsx @@ -1,5 +1,5 @@ -import LandingLayout from './LandingLayout' import { render } from '@/utils' +import LandingLayout from './LandingLayout' describe('LandingLayout', () => { it('should render correctly (snapshot)', () => { diff --git a/layouts/LandingLayout.tsx b/layouts/LandingLayout.tsx index 14fa71165..b662e7810 100644 --- a/layouts/LandingLayout.tsx +++ b/layouts/LandingLayout.tsx @@ -1,6 +1,6 @@ -import cx from 'classnames' import type { ReactNode } from 'react' import landingImage from '@/images/landing.jpg' +import cx from 'classnames' interface Props { children: ReactNode diff --git a/layouts/Layout.test.tsx b/layouts/Layout.test.tsx index a76163d1f..d24b2038b 100644 --- a/layouts/Layout.test.tsx +++ b/layouts/Layout.test.tsx @@ -1,6 +1,6 @@ -import Layout from './Layout' import mockData from '@/mocks/data' import { render, waitFor } from '@/utils' +import Layout from './Layout' describe('Layout', () => { const mockTime = mockData.time diff --git a/layouts/Layout.tsx b/layouts/Layout.tsx index e472a13ec..10a6d2291 100644 --- a/layouts/Layout.tsx +++ b/layouts/Layout.tsx @@ -1,7 +1,7 @@ +import type { BuildTime, PostMeta } from '@/types' import type { ReactNode } from 'react' import { Container, Divider, Footer, Header } from '@/components' import { Slide } from '@/components/Motion' -import type { BuildTime, PostMeta } from '@/types' interface Props { banner: string diff --git a/layouts/PostLayout.test.tsx b/layouts/PostLayout.test.tsx index add0dfe8f..27c0c705f 100644 --- a/layouts/PostLayout.test.tsx +++ b/layouts/PostLayout.test.tsx @@ -1,6 +1,6 @@ -import PostLayout from './PostLayout' import mockData from '@/mocks/data' import { render, waitFor } from '@/utils' +import PostLayout from './PostLayout' describe('PostLayout', () => { const mockTime = mockData.time diff --git a/layouts/PostLayout.tsx b/layouts/PostLayout.tsx index d59f1e5b7..4e4bcc50b 100644 --- a/layouts/PostLayout.tsx +++ b/layouts/PostLayout.tsx @@ -1,6 +1,6 @@ +import type { BuildTime, PostMeta } from '@/types' import type { ReactNode } from 'react' import { BackTop, Container, Footer, Header } from '@/components' -import type { BuildTime, PostMeta } from '@/types' interface Props { posts: PostMeta[] diff --git a/lib/getGitHubData.ts b/lib/getGitHubData.ts index 5227fc0fc..6a962cb5f 100644 --- a/lib/getGitHubData.ts +++ b/lib/getGitHubData.ts @@ -1,7 +1,7 @@ +import type { GitHub } from '@/types' import process from 'node:process' -import { Octokit } from '@octokit/rest' import { siteConfig } from '@/config' -import type { GitHub } from '@/types' +import { Octokit } from '@octokit/rest' export default async function getGitHubData(): Promise { const isVercel = Boolean(process.env.VERCEL) && process.env.NODE_ENV === 'production' diff --git a/lib/getPostsData.ts b/lib/getPostsData.ts index eb047960b..42525981d 100644 --- a/lib/getPostsData.ts +++ b/lib/getPostsData.ts @@ -1,9 +1,10 @@ +import type { MDXFrontMatter, PostMeta, PostType, Tag, TagsType } from '@/types' import { execSync } from 'node:child_process' import fs from 'node:fs/promises' import path from 'node:path' import process from 'node:process' -import matter from 'gray-matter' import { serialize } from '@alisowski/next-mdx-remote/serialize' +import matter from 'gray-matter' import readingTime from 'reading-time' import rehypeAutolinkHeadings from 'rehype-autolink-headings' import rehypeExternalLinks from 'rehype-external-links' @@ -16,7 +17,6 @@ import remarkGfm from 'remark-gfm' import remarkGitHub from 'remark-github' import remarkMath from 'remark-math' import remarkAdmonitions from './remark-admonitions' -import type { MDXFrontMatter, PostMeta, PostType, Tag, TagsType } from '@/types' const contentsPath = path.join(process.cwd(), 'contents') diff --git a/lib/getSitemap.ts b/lib/getSitemap.ts index 5f449d27c..b37ca5267 100644 --- a/lib/getSitemap.ts +++ b/lib/getSitemap.ts @@ -1,5 +1,5 @@ -import { siteConfig } from '@/config' import type { PostMeta } from '@/types' +import { siteConfig } from '@/config' export default function getSitemap(posts: PostMeta[]) { return ` diff --git a/mocks/data.ts b/mocks/data.ts index 307adb298..d32cb4e22 100644 --- a/mocks/data.ts +++ b/mocks/data.ts @@ -40,7 +40,7 @@ const repos = [ }, ] -const basePosts = Array.from(Array(5).keys()).map(index => ({ +const basePosts = Array.from(Array.from({ length: 5 }).keys()).map(index => ({ index, slug: `${index + 1}BasicNotes`, title: `${index + 1} Basic Notes`, diff --git a/package.json b/package.json index 9831b141f..dad722d41 100644 --- a/package.json +++ b/package.json @@ -88,8 +88,8 @@ "unist-util-visit": "^5.0.0" }, "devDependencies": { - "@dg-scripts/eslint-config": "^5.21.3", - "@dg-scripts/stylelint-config": "^5.21.3", + "@dg-scripts/eslint-config": "^5.21.4", + "@dg-scripts/stylelint-config": "^5.21.4", "@octokit/types": "^13.6.1", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.0.1", @@ -102,7 +102,7 @@ "@types/unist": "^3.0.3", "commit-and-tag-version": "^12.5.0", "cypress": "^13.16.0", - "eslint": "^8.57.1", + "eslint": "^9.15.0", "eslint-config-next": "^15.0.3", "jest": "^29.7.0", "jest-axe": "^9.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index abdc354fc..97c85e422 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -118,11 +118,11 @@ importers: version: 5.0.0 devDependencies: '@dg-scripts/eslint-config': - specifier: ^5.21.3 - version: 5.21.3(@vue/compiler-sfc@3.4.21)(eslint-config-next@15.0.3(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(next@14.2.18(@babel/core@7.24.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(prettier@3.3.3)(typescript@5.6.3) + specifier: ^5.21.4 + version: 5.21.4(@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(@vue/compiler-sfc@3.4.21)(eslint-config-next@15.0.3(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(next@14.2.18(@babel/core@7.24.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(prettier@3.3.3)(typescript@5.6.3) '@dg-scripts/stylelint-config': - specifier: ^5.21.3 - version: 5.21.3(postcss@8.4.49)(prettier@3.3.3)(stylelint@16.10.0(typescript@5.6.3)) + specifier: ^5.21.4 + version: 5.21.4(postcss@8.4.49)(prettier@3.3.3)(stylelint@16.10.0(typescript@5.6.3)) '@octokit/types': specifier: ^13.6.1 version: 13.6.1 @@ -160,11 +160,11 @@ importers: specifier: ^13.16.0 version: 13.16.0 eslint: - specifier: ^8.57.1 - version: 8.57.1 + specifier: ^9.15.0 + version: 9.15.0(jiti@1.21.6) eslint-config-next: specifier: ^15.0.3 - version: 15.0.3(eslint@8.57.1)(typescript@5.6.3) + version: 15.0.3(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.9.1)(babel-plugin-macros@3.1.0) @@ -275,20 +275,20 @@ packages: peerDependencies: react: '>=16.9.0' - '@antfu/eslint-config@2.23.1': - resolution: {integrity: sha512-ncp0CVLTvwKItpEPyI5WlUrN4B8J8ksXyi/L684KPCAlzk5CYugno01ApcqnHKlc951vz2NbXU7XdEpZfBl6HA==} + '@antfu/eslint-config@3.9.2': + resolution: {integrity: sha512-a1I1CXmtQdTL9jxcb2RzKjuYYAzjdKK3ktVpQGd/1S/aUdhKgcEEi3DRXYgnB8xdpYLqracETxEMDf9PQlmyBg==} hasBin: true peerDependencies: '@eslint-react/eslint-plugin': ^1.5.8 '@prettier/plugin-xml': ^3.4.1 '@unocss/eslint-plugin': '>=0.50.0' astro-eslint-parser: ^1.0.2 - eslint: '>=8.40.0' + eslint: ^9.10.0 eslint-plugin-astro: ^1.2.0 eslint-plugin-format: '>=0.1.0' - eslint-plugin-react-hooks: ^4.6.0 + eslint-plugin-react-hooks: ^5.0.0 eslint-plugin-react-refresh: ^0.4.4 - eslint-plugin-solid: ^0.13.2 + eslint-plugin-solid: ^0.14.3 eslint-plugin-svelte: '>=2.35.1' prettier-plugin-astro: ^0.13.0 prettier-plugin-slidev: ^1.0.5 @@ -321,18 +321,8 @@ packages: svelte-eslint-parser: optional: true - '@antfu/eslint-plugin-unused-imports@4.0.0': - resolution: {integrity: sha512-bvM3EnoradE3WbdOWafEGj0VzTi455gWvjmIHsmpWoIHJ6XehjnJh8Dq3+sz8t3bh14LQyFBKTx3m24q2zE1dw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^8.0.0-0 - eslint: ^9.0.0 - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - - '@antfu/install-pkg@0.3.3': - resolution: {integrity: sha512-nHHsk3NXQ6xkCfiRRC8Nfrg8pU5kkr3P3Y9s9dKqiuRmBD0Yap7fymNDjGFKeWhZQHqqbCS5CfeMy9wtExM24w==} + '@antfu/install-pkg@0.4.1': + resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==} '@antfu/utils@0.7.10': resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} @@ -454,6 +444,10 @@ packages: resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.23.5': resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} @@ -936,8 +930,8 @@ packages: '@clack/core@0.3.4': resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} - '@clack/prompts@0.7.0': - resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==} + '@clack/prompts@0.8.1': + resolution: {integrity: sha512-I263nEUNbX4lPTX93trl1fkIvGrGlz6nUYkqOddF0ZmjqcxUgUlXmpUIUqfapirRKJrFddvwF+qdZgg8cSqF7g==} bundledDependencies: - is-unicode-supported @@ -1271,13 +1265,13 @@ packages: '@cypress/xvfb@1.2.4': resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} - '@dg-scripts/eslint-config@5.21.3': - resolution: {integrity: sha512-hkqx7RipA2cAoHsvGIOnc+PoEq83aTTVtl0E/KBtCdoZAFq/BQhGJonYsPz61jg2EMEye2s8OWbjsl5vgJzTyw==} + '@dg-scripts/eslint-config@5.21.4': + resolution: {integrity: sha512-EbI4Hc22RBZGJUPGxSQu+/yQePCbmkrCd+gyD2D22rVQZzqaDtmBOetasiUE9SknD8Lp+emeDu7tpKiCkpj85A==} engines: {node: '>=18.0.0'} peerDependencies: - eslint: ^8.0.0 - eslint-config-next: ^14.0.0 - next: ^14.0.0 + eslint: ^9.0.0 + eslint-config-next: ^15.0.0 + next: ^15.0.0 prettier: ^3.0.0 typescript: ^5.0.0 peerDependenciesMeta: @@ -1286,8 +1280,8 @@ packages: next: optional: true - '@dg-scripts/stylelint-config@5.21.3': - resolution: {integrity: sha512-aSb55QXACK3lfKI7jwP7SzBouzxUdILp4wH1vfVgxYh4HIWl/vkoU9MgNYWMFC1USLwVaHnJLotDPvBxWLmv/A==} + '@dg-scripts/stylelint-config@5.21.4': + resolution: {integrity: sha512-TQuoL3HTavK+vsJxmo80uyctyMcM9Z0g+qtir5+PzGpW7LD0iokYIwVN8yUWrJON7FZgvKY9JhUPh5YWRNJMEA==} engines: {node: '>=18.0.0'} peerDependencies: prettier: ^3.0.0 @@ -1355,32 +1349,48 @@ packages: '@emotion/weak-memoize@0.3.1': resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} - '@es-joy/jsdoccomment@0.43.1': - resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==} + '@es-joy/jsdoccomment@0.48.0': + resolution: {integrity: sha512-G6QUWIcC+KvSwXNsJyDTHvqUdNoAVJPPgkc3+Uk4WBKqZvoXhlvazOgm9aL0HwihJLQf0l+tOE2UFzXBqCqgDw==} engines: {node: '>=16'} - '@es-joy/jsdoccomment@0.46.0': - resolution: {integrity: sha512-C3Axuq1xd/9VqFZpW4YAzOx5O9q/LP46uIQy/iNDpHG3fmPa6TBtvfglMCs3RBiBxAIi0Go97r8+jvTt55XMyQ==} + '@es-joy/jsdoccomment@0.49.0': + resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} engines: {node: '>=16'} + '@eslint-community/eslint-plugin-eslint-comments@4.4.1': + resolution: {integrity: sha512-lb/Z/MzbTf7CaVYM9WCFNQZ4L1yi3ev2fsFPF99h31ljhSEyUoyEsKsNWiU+qD1glbYTDJdqgyaLKtyTkkqtuQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/regexpp@4.10.0': resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-react/ast@1.5.28': - resolution: {integrity: sha512-JoGimArbUfddw7Di44nj6J3GYCmSOgtnCHykGHvou+wV9Q4Nu0BvIroQkKGkqJbA3Xb+TuVloFb+XfHdHRrKeQ==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint-react/ast@1.16.2': + resolution: {integrity: sha512-KFjXQS68TzUPUUoaCrfNhaYPAsSho7KGflerGWL0Sw5njaa7fwH+HyNgaHKsyhY99lidiPjMIveoOfcq1j7v3A==} - '@eslint-react/core@1.5.28': - resolution: {integrity: sha512-ViaoIVIBfkAGEE0tltwC7aj4632nUvMbvojqV0fiDAJfEtPqRugdpO5FKymrwy0HT0DeUjJk8QqHN04/vucF7w==} + '@eslint-react/core@1.16.2': + resolution: {integrity: sha512-dn+ByJoxH4tHxiWwqUwhLXq1gf1D/LmtG5XdLw3bLeFSkpNSGrR4k++1oHjIhv7pHN4/wFCUgIDShSbFEQtQNA==} - '@eslint-react/eslint-plugin@1.5.28': - resolution: {integrity: sha512-NfvwWdd5b64iNHlEkdqKbHAU5JoxZEAu34Z8mHzcwssWiAIoJlLj8yLkcaoIB0ziCCC4TO8DWrGDQlqecVLvPg==} + '@eslint-react/eslint-plugin@1.16.2': + resolution: {integrity: sha512-B/46aHpW319ZZUoPb9rdhhiMqOAxERGqc45NxnEaRp3ig6p5zEFZEPBb7nDuphCfv+Ai4gk2EB/lXIv+DvYFjg==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1389,32 +1399,57 @@ packages: typescript: optional: true - '@eslint-react/jsx@1.5.28': - resolution: {integrity: sha512-L0V3/fOM5NnWcfljU21wKlnoJsD6szWIzSDzyjT0YA1yq6SgjzEIuPH2ZLrmJ1JkVCAKiTwWRFRNJ/yuju4/6A==} + '@eslint-react/jsx@1.16.2': + resolution: {integrity: sha512-Sq9wFNydvMspJCsRwqxnxOvhVgZkaNFi+qZVzGu7azlmIOc9CWE2ktVqJ757onUIMtPcKD+O/r2nMPr/vSxxjA==} - '@eslint-react/shared@1.5.28': - resolution: {integrity: sha512-s86fa5avtffZmKof9vmSAcsqSSgreJzxHVq1g6Ao9EitGs1PZF4wh4VHMqHOnwDhp/bnO7TJa1ZrmkeumWrDTw==} + '@eslint-react/shared@1.16.2': + resolution: {integrity: sha512-IlSelSU8GDiYEIRk9QaB/gXMEBgEhuT51w0RtoyIb8On/yVMJhgv+wsXfCCJZbB/fRPdzO55GIfysJAJIeTmEw==} - '@eslint-react/tools@1.5.28': - resolution: {integrity: sha512-nndBlWT7sQ0qHgvd0n34V2T+YkkvoKfFiXNzyli1hhr5T1Og6LoeHbxRotifjpPQMI2j+PmK/OEGGqBsrMqP1w==} + '@eslint-react/tools@1.16.2': + resolution: {integrity: sha512-gUxLR4Y2qV+vVw0bpwMvsMjbowXf1r3kqCxRFi5Nsn2IFbTQR2p3c9m1pzYkRVVhy75fgf9LDC8oUxshGOnoWA==} - '@eslint-react/types@1.5.28': - resolution: {integrity: sha512-eXPY5pGGbcEeUDnX4WJxpjbxGXbv0z5p8u6HAZSwDsH2eMtxE8kFqQ9bTAMihhAhbhvffxf+epLYBw/buQLi2g==} + '@eslint-react/types@1.16.2': + resolution: {integrity: sha512-QDFm854YD2AprBB/6nSIqkVYO5K4AWBGpsDSEPEYUFjXwdCt0144Hr6onZf4smxLraeTQr2zkUlVfFkKsDXEng==} - '@eslint-react/var@1.5.28': - resolution: {integrity: sha512-QAYZVL/bUU0oXpKl/8GitwEwlT9d+Lskhi+v91/4p2LyqFFnlYc3p/VOO+TzIIeMN6uZp3g8ExgnLb/orU39IQ==} + '@eslint-react/var@1.16.2': + resolution: {integrity: sha512-yGLt3rpoQTM4g+5nB6+WJHn4LYWk+xwSPoQ+ZMd18bJ0vArEpoiULSDESJv79mVyhXe8uM/irdKxGPz+cMtD6A==} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/compat@1.2.3': + resolution: {integrity: sha512-wlZhwlDFxkxIZ571aH0FoK4h4Vwx7P3HJx62Gp8hTc10bfpwT2x0nULuAHmQSJBOWPgPeVf+9YtnD4j50zVHmA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true - '@eslint/eslintrc@3.1.0': - resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + '@eslint/config-array@0.19.0': + resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/core@0.9.0': + resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.15.0': + resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/markdown@6.2.1': + resolution: {integrity: sha512-cKVd110hG4ICHmWhIwZJfKmmJBvbiDWyrHODJknAtudKgZtlROGoLX9UEOA0o746zC0hCY4UV4vR+aOGW9S6JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.3': + resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -1422,18 +1457,25 @@ packages: '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} '@hutson/parse-repository-url@3.0.2': resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} @@ -1538,10 +1580,6 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@jsdevtools/ez-spawn@3.0.4': - resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} - engines: {node: '>=10'} - '@lezer/common@1.2.1': resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==} @@ -1595,24 +1633,28 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] '@next/swc-linux-arm64-musl@14.2.18': resolution: {integrity: sha512-RCaENbIZqKKqTlL8KNd+AZV/yAdCsovblOpYFp0OJ7ZxgLNbV5w23CUU1G5On+0fgafrsGcW+GdMKdFjaRwyYA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] '@next/swc-linux-x64-gnu@14.2.18': resolution: {integrity: sha512-3kmv8DlyhPRCEBM1Vavn8NjyXtMeQ49ID0Olr/Sut7pgzaQTo4h01S7Z8YNE0VtbowyuAL26ibcz0ka6xCTH5g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] '@next/swc-linux-x64-musl@14.2.18': resolution: {integrity: sha512-mliTfa8seVSpTbVEcKEXGjC18+TDII8ykW4a36au97spm9XMPqQTpdGPNBJ9RySSFw9/hLuaCMByluQIAnkzlw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] '@next/swc-win32-arm64-msvc@14.2.18': resolution: {integrity: sha512-J5g0UFPbAjKYmqS3Cy7l2fetFmWMY9Oao32eUsBPYohts26BdrMUyfCJnZFQkX9npYaHNDOWqZ6uV9hSDPw9NA==} @@ -1827,31 +1869,8 @@ packages: '@stitches/core@1.2.8': resolution: {integrity: sha512-Gfkvwk9o9kE9r9XNBmJRfV8zONvXThnm1tcuojL04Uy5uRyqg93DC83lDebl0rocZCfKSjUv+fWYtMQmEDJldg==} - '@stylistic/eslint-plugin-js@2.6.0-beta.0': - resolution: {integrity: sha512-KQiNvzNzvl9AmMs1MiIBszLIy/Xy1bTExnyaVy5dSzOF9c+yT64JQfH0p0jP6XpGwoCnZsrPUNflwP30G42QBQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8.40.0' - - '@stylistic/eslint-plugin-jsx@2.6.0-beta.0': - resolution: {integrity: sha512-TOimEpr3vndXHRhuQ5gMqmJv1SBlFI3poIJzyeNMmXi3NWVHoPxfd4QAJHGNJe5G3EO2NAXGf2H7nl8gY5QaZA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8.40.0' - - '@stylistic/eslint-plugin-plus@2.6.0-beta.0': - resolution: {integrity: sha512-Wp+e4sTbFq0Uk5ncU3PETYfg1IcCZ1KycdlqFYXIA7/bgcieeShXouXUcA+S/S5+gWLXGuVJ12IxNzY8yfe4IA==} - peerDependencies: - eslint: '*' - - '@stylistic/eslint-plugin-ts@2.6.0-beta.0': - resolution: {integrity: sha512-WMz1zgmMC3bvg1L/tiYt5ygvDbTDKlbezoHoX2lV9MnUCAEQZUP4xJ9Wj3jmIKxb4mUuK5+vFZJVcOygvbbqow==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8.40.0' - - '@stylistic/eslint-plugin@2.6.0-beta.0': - resolution: {integrity: sha512-1NJy1iIDSFC4gelDJ82VMTq9J32tNvQ9k1lnxOsipZ0YQB826U5zGLiH37QAM8dRfNY6yeYhjlrUVtZUxFR19w==} + '@stylistic/eslint-plugin@2.11.0': + resolution: {integrity: sha512-PNRHbydNG5EH8NK4c+izdJlxajIR6GxcUhzsYNRsn6Myep4dsZt0qFCz3rCPnkvgO5FYibDcMqgNHUT+zvjYZw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -1928,6 +1947,9 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/glob@7.2.0': resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} @@ -2050,8 +2072,8 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@8.0.0-alpha.40': - resolution: {integrity: sha512-yku4NjpP0UujYq8d1GWXYELpKYwuoESSgvXPd9uAiO24OszGxQhPsGWTe4fmZV05J47qILfaGANO9SCa9fEU0w==} + '@typescript-eslint/eslint-plugin@8.15.0': + resolution: {integrity: sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -2071,8 +2093,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.0.0-alpha.40': - resolution: {integrity: sha512-cjIgiaxmGtjlA6rRSs0Gsh0mWR08kPv1W+HsrZcuFwWxoGavBZPKtNctXND0NVf6MgSKyIcd4AHqBwE0htp5uw==} + '@typescript-eslint/parser@8.15.0': + resolution: {integrity: sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -2089,32 +2111,14 @@ packages: resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/scope-manager@7.16.1': - resolution: {integrity: sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@7.2.0': resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/scope-manager@8.0.0-alpha.40': - resolution: {integrity: sha512-KQL502sCGZW+dYvxIzF6rEozbgppN0mBkYV6kT8ciY5OtFIRlLDTP7NdVAMMDk7q35T7Ad8negaQ9AGpZ8+Y5w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/scope-manager@8.0.0-alpha.47': - resolution: {integrity: sha512-w2ihTDFyukIxOfyG3fgkU9exRQNFAcc5EPGKcqKZ3POK9b0XgsTIHduD9awSE/5rNW6soSJJYj19cA7JW5CH/Q==} + '@typescript-eslint/scope-manager@8.15.0': + resolution: {integrity: sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@7.16.1': - resolution: {integrity: sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/type-utils@7.2.0': resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2125,10 +2129,11 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@8.0.0-alpha.40': - resolution: {integrity: sha512-/Aynkgxy3x22i6Zxy73MR/r0y1OELOMC9Atn7MO97NsjBOrQQYJHi/UEklZ423aB8SCkYH34lO6EAzXX/lIN3g==} + '@typescript-eslint/type-utils@8.15.0': + resolution: {integrity: sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -2142,20 +2147,12 @@ packages: resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@7.16.1': - resolution: {integrity: sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@7.2.0': resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@8.0.0-alpha.40': - resolution: {integrity: sha512-44mUq4VZVydxNlOM8Xtp/BXDkyfuvvjgPIBf7vRQDutrLDeNS0pJ9pcSloSbop5MwKLfJjBU+PbwnJPQM+DWNg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.0.0-alpha.47': - resolution: {integrity: sha512-Jb2toEU34iYev82/EQtJTcI3V4Whi6LMSm6Y/fNQPqRI8oYCzVuoEx95OZLLpiZOAK/F1CWXNZObvBg6/lM59g==} + '@typescript-eslint/types@8.15.0': + resolution: {integrity: sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@5.62.0': @@ -2176,15 +2173,6 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.16.1': - resolution: {integrity: sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/typescript-estree@7.2.0': resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2194,17 +2182,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.0.0-alpha.40': - resolution: {integrity: sha512-bz1rX5GXvGdx686FghDxPqGwgntlseZCQSRrVGDDOZlLSoWJnbfkzxXGOWch9c3ttcGkdFy/DiCyKKga3hrq0g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/typescript-estree@8.0.0-alpha.47': - resolution: {integrity: sha512-8RQlspUvCrHIs1DhxR0hCh9ZJrD63Hnpj4zGYQEhHvxWXcWD2uYFeP8n2Ulib1HumIZlLwJsXU+MV9uj44iXcQ==} + '@typescript-eslint/typescript-estree@8.15.0': + resolution: {integrity: sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -2218,29 +2197,21 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@typescript-eslint/utils@7.16.1': - resolution: {integrity: sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - '@typescript-eslint/utils@7.2.0': resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@8.0.0-alpha.40': - resolution: {integrity: sha512-ijxO1Hs3YWveuWK+Vbt25D05Q41UeK08JwEJbWTzV38LmkdCBktQd7X1sTw4W9Qku692HWuHgesZf6OhC8t3aA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - - '@typescript-eslint/utils@8.0.0-alpha.47': - resolution: {integrity: sha512-RLvHFJstxMGMKzSKrdq7u1t6i2ZYQLR8E5BSwb2nIekLtMWHMxHbVef2dH4w3AoAEzUH3W0S/9jc3N0FLfOOYA==} + '@typescript-eslint/utils@8.15.0': + resolution: {integrity: sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true '@typescript-eslint/visitor-keys@5.62.0': resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} @@ -2250,25 +2221,30 @@ packages: resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/visitor-keys@7.16.1': - resolution: {integrity: sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==} - engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@7.2.0': resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/visitor-keys@8.0.0-alpha.40': - resolution: {integrity: sha512-y1stojSPb5D3M8VlGGpaiBU5XxGLe+sPuW0YbLe09Lxvo4AwKGvhAr5lhqJZo4z6qHNz385+6+BS63+qIQdYLw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/visitor-keys@8.0.0-alpha.47': - resolution: {integrity: sha512-k2CQOfSBZXmAmM/WUoykxMZxEoA1+JHwbVkl2Tf2RimH11XrnFMyyx81XE/DCjbfLsHexNhHBhBj74Ga9kGlgg==} + '@typescript-eslint/visitor-keys@8.15.0': + resolution: {integrity: sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@vitest/eslint-plugin@1.1.10': + resolution: {integrity: sha512-uScH5Kz5v32vvtQYB2iodpoPg2mGASK+VKpjlc2IUgE0+16uZKqVKi2vQxjxJ6sMCQLBs4xhBFZlmZBszsmfKQ==} + peerDependencies: + '@typescript-eslint/utils': '>= 8.0' + eslint: '>= 8.57.0' + typescript: '>= 5.0.0' + vitest: '*' + peerDependenciesMeta: + typescript: + optional: true + vitest: + optional: true + '@vue/compiler-core@3.4.21': resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} @@ -2369,6 +2345,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} @@ -2663,6 +2644,9 @@ packages: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} + birecord@0.1.1: + resolution: {integrity: sha512-VUpsf/qykW0heRlC8LooCq28Kxn3mAqKohhDG/49rrsQ1dT1CXyj/pgXS+5BSRzFTR/3DyIBOqQOrGyZOh71Aw==} + blob-util@2.0.2: resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} @@ -2687,6 +2671,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} engines: {node: '>= 6'} @@ -2722,9 +2711,6 @@ packages: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} - call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -2748,6 +2734,9 @@ packages: caniuse-lite@1.0.30001638: resolution: {integrity: sha512-5SuJUJ7cZnhPpeLHaH0c/HPAnAHZvS6ElWyHK9GSIbVOQABLzowiI2pjmpvZ1WEbkyz46iFd4UXlOHR5SqgfMQ==} + caniuse-lite@1.0.30001680: + resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==} + caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -3018,6 +3007,9 @@ packages: core-js-compat@3.37.1: resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + core-js-compat@3.39.0: + resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} @@ -3049,6 +3041,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} @@ -3312,6 +3308,9 @@ packages: electron-to-chromium@1.4.815: resolution: {integrity: sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==} + electron-to-chromium@1.5.63: + resolution: {integrity: sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA==} + emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} @@ -3333,6 +3332,10 @@ packages: resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} engines: {node: '>=10.13.0'} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + engines: {node: '>=10.13.0'} + enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -3400,6 +3403,10 @@ packages: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-carriage@1.3.1: resolution: {integrity: sha512-GwBr6yViW3ttx1kb7/Oh+gKQ1/TrhYwxKqVmg5gS+BK+Qe2KrOa/Vh7w3HPBvgGf0LfcDGoY9I6NHKoA5Hozhw==} @@ -3430,8 +3437,22 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-config-flat-gitignore@0.1.8: - resolution: {integrity: sha512-OEUbS2wzzYtUfshjOqzFo4Bl4lHykXUdM08TCnYNl7ki+niW4Q1R0j0FDFDr0vjVsI5ZFOz5LvluxOP+Ew+dYw==} + eslint-compat-utils@0.5.1: + resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-compat-utils@0.6.3: + resolution: {integrity: sha512-9IDdksh5pUYP2ZLi7mOdROxVjLY8gY2qKxprmrJ/5Dyqud7M/IFKxF3o0VLlRhITm1pK6Fk7NiBxE39M/VlUcw==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-config-flat-gitignore@0.3.0: + resolution: {integrity: sha512-0Ndxo4qGhcewjTzw52TK06Mc00aDtHNTdeeW2JfONgDcLkRO/n/BteMRzNVpLQYxdCC/dFEilfM9fjjpGIJ9Og==} + peerDependencies: + eslint: ^9.5.0 eslint-config-next@15.0.3: resolution: {integrity: sha512-IGP2DdQQrgjcr4mwFPve4DrCqo7CVVez1WoYY47XwKSrYO4hC0Dlb+iJA60i0YfICOzgNADIb8r28BpQ5Zs0wg==} @@ -3442,8 +3463,8 @@ packages: typescript: optional: true - eslint-flat-config-utils@0.2.5: - resolution: {integrity: sha512-iO+yLZtC/LKgACerkpvsZ6NoRVB2sxT04mOpnNcEM1aTwKy+6TsT46PUvrML4y2uVBS6I67hRCd2JiKAPaL/Uw==} + eslint-flat-config-utils@0.4.0: + resolution: {integrity: sha512-kfd5kQZC+BMO0YwTol6zxjKX1zAsk8JfSAopbKjKqmENTJcew+yBejuvccAg37cvOrN0Mh+DVbeyznuNWEjt4A==} eslint-formatting-reporter@0.0.0: resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==} @@ -3460,6 +3481,17 @@ packages: eslint: '*' eslint-plugin-import: '*' + eslint-json-compat-utils@0.2.1: + resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} + engines: {node: '>=12'} + peerDependencies: + '@eslint/json': '*' + eslint: '*' + jsonc-eslint-parser: ^2.4.0 + peerDependenciesMeta: + '@eslint/json': + optional: true + eslint-merge-processors@0.1.0: resolution: {integrity: sha512-IvRXXtEajLeyssvW4wJcZ2etxkR9mUf4zpNwgI+m/Uac9RfXHskuJefkHUcawVzePnd6xp24enp5jfgdHzjRdQ==} peerDependencies: @@ -3489,38 +3521,32 @@ packages: eslint-parser-plain@0.1.0: resolution: {integrity: sha512-oOeA6FWU0UJT/Rxc3XF5Cq0nbIZbylm7j8+plqq0CZoE6m4u32OXJrR+9iy4srGMmF6v6pmgvP1zPxSRIGh3sg==} - eslint-plugin-antfu@2.3.4: - resolution: {integrity: sha512-5RIjJpBK1tuNHuLyFyZ90/iW9s439dP1u2cxA4dH70djx9sKq1CqI+O6Q95aVjgFNTDtQzSC9uYdAD5uEEKciQ==} + eslint-plugin-antfu@2.7.0: + resolution: {integrity: sha512-gZM3jq3ouqaoHmUNszb1Zo2Ux7RckSvkGksjLWz9ipBYGSv1EwwBETN6AdiUXn+RpVHXTbEMPAPlXJazcA6+iA==} peerDependencies: eslint: '*' - eslint-plugin-command@0.2.3: - resolution: {integrity: sha512-1bBYNfjZg60N2ZpLV5ATYSYyueIJ+zl5yKrTs0UFDdnyu07dNSZ7Xplnc+Wb6SXTdc1sIaoIrnuyhvztcltX6A==} + eslint-plugin-command@0.2.6: + resolution: {integrity: sha512-T0bHZ1oblW1xUHUVoBKZJR2osSNNGkfZuK4iqboNwuNS/M7tdp3pmURaJtTi/XDzitxaQ02lvOdFH0mUd5QLvQ==} peerDependencies: eslint: '*' - eslint-plugin-es-x@7.6.0: - resolution: {integrity: sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==} + eslint-plugin-es-x@7.8.0: + resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' - eslint-plugin-eslint-comments@3.2.0: - resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} - engines: {node: '>=6.5.0'} - peerDependencies: - eslint: '>=4.19.1' - eslint-plugin-format@0.1.2: resolution: {integrity: sha512-ZrcO3aiumgJ6ENAv65IWkPjtW77ML/5mp0YrRK0jdvvaZJb+4kKWbaQTMr/XbJo6CtELRmCApAziEKh7L2NbdQ==} peerDependencies: eslint: ^8.40.0 || ^9.0.0 - eslint-plugin-import-x@3.0.1: - resolution: {integrity: sha512-jzQgJuE4ssxwNi0aMBkOL8whd4eHb0Z/uFWsk8uEoYB7xwTkAptSKojLzRswxgf/1bhH6QgcLjgabUBQqluBIg==} - engines: {node: '>=16'} + eslint-plugin-import-x@4.4.3: + resolution: {integrity: sha512-QBprHvhLsfDhP++2T1NnjsOUt6bLDX3NMHaYwAB1FD3xmYTkdFH+HS1OamGhz28jLkRyIZa6UNAzTxbHnJwz5w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 || ^9.0.0-0 + eslint: ^8.57.0 || ^9.0.0 eslint-plugin-import@2.31.0: resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} @@ -3532,14 +3558,14 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-jsdoc@48.8.3: - resolution: {integrity: sha512-AtIvwwW9D17MRkM0Z0y3/xZYaa9mdAvJrkY6fU/HNUwGbmMtHVvK4qRM9CDixGVtfNrQitb8c6zQtdh6cTOvLg==} + eslint-plugin-jsdoc@50.5.0: + resolution: {integrity: sha512-xTkshfZrUbiSHXBwZ/9d5ulZ2OcHXxSvm/NPo494H/hadLRJwOq5PMV0EUpMqsb9V+kQo+9BAgi6Z7aJtdBp2A==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-jsonc@2.16.0: - resolution: {integrity: sha512-Af/ZL5mgfb8FFNleH6KlO4/VdmDuTqmM+SPnWcdoWywTetv7kq+vQe99UyQb9XO3b0OWLVuTH7H0d/PXYCMdSg==} + eslint-plugin-jsonc@2.18.2: + resolution: {integrity: sha512-SDhJiSsWt3nItl/UuIv+ti4g3m4gpGkmnUJS9UWR3TrpyNsIcnJoBRD7Kof6cM4Rk3L0wrmY5Tm3z7ZPjR2uGg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' @@ -3550,29 +3576,24 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-markdown@5.1.0: - resolution: {integrity: sha512-SJeyKko1K6GwI0AN6xeCDToXDkfKZfXcexA6B+O2Wr2btUS9GrC+YgwSyVli5DJnctUHjFXcQ2cqTaAmVoLi2A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8' - - eslint-plugin-n@17.9.0: - resolution: {integrity: sha512-CPSaXDXdrT4nsrOrO4mT4VB6FMUkoySRkHWuuJJHVqsIEjIeZgMY1H7AzSwPbDScikBmLN82KeM1u7ixV7PzGg==} + eslint-plugin-n@17.13.2: + resolution: {integrity: sha512-MhBAKkT01h8cOXcTBTlpuR7bxH5OBUNpUXefsvwSVEy46cY4m/Kzr2osUCQvA3zJFD6KuCeNNDv0+HDuWk/OcA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' - eslint-plugin-no-only-tests@3.1.0: - resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} + eslint-plugin-no-only-tests@3.3.0: + resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@2.11.0: - resolution: {integrity: sha512-XrtBtiu5rbQv88gl+1e2RQud9te9luYNvKIgM9emttQ2zutHPzY/AQUucwxscDKV4qlTkvLTxjOFvxqeDpPorw==} + eslint-plugin-perfectionist@3.9.1: + resolution: {integrity: sha512-9WRzf6XaAxF4Oi5t/3TqKP5zUjERhasHmLFHin2Yw6ZAp/EP/EVA2dr3BhQrrHWCm5SzTMZf0FcjDnBkO2xFkA==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: astro-eslint-parser: ^1.0.2 eslint: '>=8.0.0' svelte: '>=3.0.0' - svelte-eslint-parser: ^0.37.0 + svelte-eslint-parser: ^0.41.1 vue-eslint-parser: '>=9.0.0' peerDependenciesMeta: astro-eslint-parser: @@ -3584,14 +3605,14 @@ packages: vue-eslint-parser: optional: true - eslint-plugin-promise@6.5.1: - resolution: {integrity: sha512-KEYBjj9nCynXAquwKrYEnIJ1zK+e+O5jqwn/9Aln/FhdOXm6WwsmCVatDM6OAxkEzbigsyD79Fi3DUWWqulTEA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-plugin-promise@7.1.0: + resolution: {integrity: sha512-8trNmPxdAy3W620WKDpaS65NlM5yAumod6XeC4LOb+jxlkG4IVcp68c6dXY2ev+uT4U1PtG57YDV6EGAXN0GbQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-react-debug@1.5.28: - resolution: {integrity: sha512-WjX8iEl36mVHzHGU+8dj3fbR38Uc+nVCSOJux8Re8b/t54e69ikx2tFESlB/NjW2GWGl+wERnCoJg4LM0QTM0w==} + eslint-plugin-react-debug@1.16.2: + resolution: {integrity: sha512-RbjEvjryJll0n286SAmmfo1ecq1xvBK5iTtzB7SwkERlfEBH+UDPeoggz4dLa3pVbTwpzI5BFY4j+KPLpqrnZw==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3600,8 +3621,8 @@ packages: typescript: optional: true - eslint-plugin-react-dom@1.5.28: - resolution: {integrity: sha512-COmTkDUQ0W4UkPYRDSOumHEMvOk7xvXkf3/asS+NzfqYs0+DPwcqJAYSo6ZX1TRnEv7V+DZArXdtwiEtwuDz3A==} + eslint-plugin-react-dom@1.16.2: + resolution: {integrity: sha512-WyKACJCESmps/DHSJAChNZcaSuD6GKKSw4kOQO4zcE/oeZ5rqHahn3hqh+PWDBz0UYEjkRhjuJ8c4VDCJzfDwg==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3610,8 +3631,8 @@ packages: typescript: optional: true - eslint-plugin-react-hooks-extra@1.5.28: - resolution: {integrity: sha512-502p6v/+IlKz6tb8bSCnXNChKp7Tt06/ctKsx9CsYj97ERQeXPkZZcO2wn875rhFh+9fd823g+sRagiaiZYo0Q==} + eslint-plugin-react-hooks-extra@1.16.2: + resolution: {integrity: sha512-2jTqUViMukYGIgfqKuroHJcJMjz9RIzEVaogcbzO7VU1NUYKJzrLbex+A8trGzPhlY5f+gZTyonTDvEOeziylA==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3620,20 +3641,14 @@ packages: typescript: optional: true - eslint-plugin-react-hooks@4.6.2: - resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react-hooks@5.0.0: resolution: {integrity: sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - eslint-plugin-react-naming-convention@1.5.28: - resolution: {integrity: sha512-16ibHJzEDPorHqsb3j0tP53FVXxu79fMydZT5k3lGkJcP8f1y+jfuSuKlW0CAMNoCMkxaI1NzrPbxp24fyHflA==} + eslint-plugin-react-naming-convention@1.16.2: + resolution: {integrity: sha512-YmnzqhoQ6oU1EE9HvieeIUu0mDNNTVDWPNZXMHmMQXTsJGW315+9/gR+PACiXnuEDS3rONa+UPRKLccxczy+SQ==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3642,13 +3657,23 @@ packages: typescript: optional: true - eslint-plugin-react-refresh@0.4.8: - resolution: {integrity: sha512-MIKAclwaDFIiYtVBLzDdm16E+Ty4GwhB6wZlCAG1R3Ur+F9Qbo6PRxpA5DK7XtDgm+WlCoAY2WxAwqhmIDHg6Q==} + eslint-plugin-react-refresh@0.4.14: + resolution: {integrity: sha512-aXvzCTK7ZBv1e7fahFuR3Z/fyQQSIQ711yPgYRj+Oj64tyTgO4iQIDmYXDBqvSWQ/FA4OSCsXOStlF+noU0/NA==} peerDependencies: eslint: '>=7' - eslint-plugin-react-x@1.5.28: - resolution: {integrity: sha512-GMoBs2bkI3Jl9NnMtpjXoa69HRWSVCgszOvMZwkoU4SeOeb0+lg6UDNgEKIDXXA6ukBJLSxwyDPDJdCsl192WA==} + eslint-plugin-react-web-api@1.16.2: + resolution: {integrity: sha512-vyrNlSKP8iT7tPxbhwQrYvHNEBCbvQlnJTmdbmhkkcklmKvAXsFUcdHD2MlKpRLkmn6dssSbOPZNAZBSojVRvg==} + engines: {bun: '>=1.0.15', node: '>=18.18.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ^4.9.5 || ^5.3.3 + peerDependenciesMeta: + typescript: + optional: true + + eslint-plugin-react-x@1.16.2: + resolution: {integrity: sha512-gLgcAGsLtFbm5LzIpPP6oVNtPwddGbJb/5NsIzKPsCVJtAE4xb66VExmw+ZiAlvtO4AzWnEjS3e9wamMGmVOHQ==} engines: {bun: '>=1.0.15', node: '>=18.18.0'} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3663,8 +3688,8 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-regexp@2.6.0: - resolution: {integrity: sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==} + eslint-plugin-regexp@2.7.0: + resolution: {integrity: sha512-U8oZI77SBtH8U3ulZ05iu0qEzIizyEDXd+BWHvyVxTOjGwcDcvy/kEpgFG4DYca2ByRLiVPFZ2GeH7j1pdvZTA==} engines: {node: ^18 || >=20} peerDependencies: eslint: '>=8.44.0' @@ -3673,11 +3698,11 @@ packages: resolution: {integrity: sha512-XjVGBhtDZJfyuhIxnQ/WMm385RbX3DBu7H1J7HNNhmB2tnGxMeqVSnYv79oAj992ayvIBZghsymwkYFS6cGH4Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-plugin-testing-library@6.2.2: - resolution: {integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==} + eslint-plugin-testing-library@6.5.0: + resolution: {integrity: sha512-Ls5TUfLm5/snocMAOlofSOJxNN0aKqwTlco7CrNtMjkTdQlkpSMaeTCDHCuXfzrI97xcx2rSCNeKeJjtpkNC1w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: - eslint: ^7.5.0 || ^8.0.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 eslint-plugin-toml@0.11.1: resolution: {integrity: sha512-Y1WuMSzfZpeMIrmlP1nUh3kT8p96mThIq4NnHrYUhg10IKQgGfBZjAWnrg9fBqguiX4iFps/x/3Hb5TxBisfdw==} @@ -3685,33 +3710,29 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-plugin-unicorn@54.0.0: - resolution: {integrity: sha512-XxYLRiYtAWiAjPv6z4JREby1TAE2byBC7wlh0V4vWDCpccOSU1KovWV//jqPXF6bq3WKxqX9rdjoRQ1EhdmNdQ==} + eslint-plugin-unicorn@56.0.1: + resolution: {integrity: sha512-FwVV0Uwf8XPfVnKSGpMg7NtlZh0G0gBarCaFcMUOoqPxXryxdYxTRRv4kH6B9TFCVIrjRXG+emcxIk2ayZilog==} engines: {node: '>=18.18'} peerDependencies: eslint: '>=8.56.0' - eslint-plugin-vitest@0.5.4: - resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==} - engines: {node: ^18.0.0 || >= 20.0.0} + eslint-plugin-unused-imports@4.1.4: + resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} peerDependencies: - '@typescript-eslint/eslint-plugin': '*' - eslint: ^8.57.0 || ^9.0.0 - vitest: '*' + '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 + eslint: ^9.0.0 || ^8.0.0 peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true - vitest: - optional: true - eslint-plugin-vue@9.27.0: - resolution: {integrity: sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==} + eslint-plugin-vue@9.31.0: + resolution: {integrity: sha512-aYMUCgivhz1o4tLkRHj5oq9YgYPM4/EJc0M7TAKRLCUA5OYxRLAhYEVD2nLtTwLyixEFI+/QXSvKU9ESZFgqjQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-yml@1.14.0: - resolution: {integrity: sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==} + eslint-plugin-yml@1.15.0: + resolution: {integrity: sha512-leC8APYVOsKyWUlvRwVhewytK5wS70BfMqIaUplFstRfzCoVp0YoEroV4cUEvQrBj93tQ3M9LcjO/ewr6D4kjA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' @@ -3722,10 +3743,6 @@ packages: '@vue/compiler-sfc': ^3.3.0 eslint: ^8.50.0 || ^9.0.0 - eslint-rule-composer@0.3.0: - resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} - engines: {node: '>=4.0.0'} - eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -3734,6 +3751,10 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3742,11 +3763,19 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.15.0: + resolution: {integrity: sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true esniff@2.0.1: resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} @@ -3756,6 +3785,10 @@ packages: resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3911,9 +3944,9 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} file-entry-cache@9.1.0: resolution: {integrity: sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==} @@ -3953,9 +3986,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flat-cache@5.0.0: resolution: {integrity: sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==} @@ -4075,6 +4108,9 @@ packages: get-tsconfig@4.7.3: resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + getos@3.2.1: resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} @@ -4145,8 +4181,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.8.0: - resolution: {integrity: sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==} + globals@15.12.0: + resolution: {integrity: sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==} engines: {node: '>=18'} globalthis@1.0.4: @@ -4479,8 +4515,8 @@ packages: is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - is-immutable-type@4.0.0: - resolution: {integrity: sha512-gyFBCXv+NikTs8/PGZhgjbMmFZQ5jvHGZIsVu6+/9Bk4K7imlWBIDN7hTr9fNioGzFg71I4YM3z8f0aKXarTAw==} + is-immutable-type@5.0.0: + resolution: {integrity: sha512-mcvHasqbRBWJznuPqqHRKiJgYAz60sZ0mvO3bN70JbkuK7ksfmgc489aKZYxMEjIbRvyOseaTjaRZLRF/xFeRA==} peerDependencies: eslint: '*' typescript: '>=4.7.4' @@ -4834,6 +4870,10 @@ packages: resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} engines: {node: '>=12.0.0'} + jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} + jsdom@20.0.3: resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} engines: {node: '>=14'} @@ -5127,6 +5167,9 @@ packages: mdast-util-from-markdown@2.0.0: resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + mdast-util-frontmatter@0.2.0: resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} @@ -5336,6 +5379,10 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -5351,6 +5398,10 @@ packages: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -5443,6 +5494,9 @@ packages: node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -5567,6 +5621,9 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + package-manager-detector@0.2.4: + resolution: {integrity: sha512-H/OUu9/zUfP89z1APcBf2X8Us0tt8dUK4lUmKqz12QNXif3DxAs1/YqjGtcutZi1zQqeNQRWr9C+EbQnnvSSFA==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -6548,11 +6605,6 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - rollup-plugin-terser@7.0.2: resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser @@ -6668,6 +6720,10 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + short-unique-id@5.2.0: + resolution: {integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==} + hasBin: true + side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} @@ -6806,10 +6862,6 @@ packages: strict-event-emitter@0.4.6: resolution: {integrity: sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg==} - string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - string-convert@0.2.1: resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} @@ -6924,8 +6976,8 @@ packages: babel-plugin-macros: optional: true - stylelint-config-bod@5.21.3: - resolution: {integrity: sha512-pXdPidbdHv2nP3F2gVEN0bIKPGfTIWr+VdN7EHlaO9Vu3ubDDNLNlPf8TtVE44LnA9wkOpT9qcP+lf9+iNfwGQ==} + stylelint-config-bod@5.21.4: + resolution: {integrity: sha512-Z4sz4EYiaJWWQdISsOWAp24Y1CI2UevOErkF8a1vnjMeBkum/SNXidauUH7apwr1lqBtoJ8V27ZBTwYfNU7ZvA==} engines: {node: '>=18.0.0'} peerDependencies: stylelint: ^16.0.0 @@ -6937,8 +6989,8 @@ packages: postcss-html: ^1.0.0 stylelint: '>=14.0.0' - stylelint-config-recess-order@5.0.1: - resolution: {integrity: sha512-rKbGkoa3h0rINrGln9TFVowvSCLgPJC5O0EuPiqlqWcJMb1lImEtXktcjFCVz+hwtSUiHD3ijJc3vP9muFOgJg==} + stylelint-config-recess-order@5.1.1: + resolution: {integrity: sha512-eDAHWVBelzDbMbdMj15pSw0Ycykv5eLeriJdbGCp0zd44yvhgZLI+wyVHegzXp5NrstxTPSxl0fuOVKdMm0XLA==} peerDependencies: stylelint: '>=16' @@ -7092,9 +7144,6 @@ packages: resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} engines: {node: '>=0.10'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -7119,6 +7168,9 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + tinyexec@0.3.1: + resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} + tldts-core@6.1.61: resolution: {integrity: sha512-In7VffkDWUPgwa+c9picLUxvb0RltVwTkSgMNFgvlGSWveCzGBemBqTsgJCL4EDFWZ6WH0fKTsot6yNhzy3ZzQ==} @@ -7190,8 +7242,8 @@ packages: peerDependencies: typescript: '>=4.2.0' - ts-declaration-location@1.0.3: - resolution: {integrity: sha512-ASvSx6oCzn38ZmUqNe6Otqa5SApeJxmOkDFccV2ZCvzPApT8o6RjpMCPcWHog32SBrDr7Ubs5wy4Nbmj5TXelA==} + ts-declaration-location@1.0.4: + resolution: {integrity: sha512-r4JoxYhKULbZuH81Pjrp9OEG5St7XWk7zXwGkLKhmVcjiBVHTJXV5wK6dEa9JKW5QGSTW6b1lOjxAKp8R1SQhg==} peerDependencies: typescript: '>=4.0.0' @@ -7225,6 +7277,9 @@ packages: esbuild: optional: true + ts-pattern@5.5.0: + resolution: {integrity: sha512-jqbIpTsa/KKTJYWgPNsFNbLVpwCgzXfFJ1ukNn4I8hMwyQzHMJnk/BqWzggB0xpkILuKzaO/aMYhS0SkaJyKXg==} + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -7409,6 +7464,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -7798,66 +7859,62 @@ snapshots: resize-observer-polyfill: 1.5.1 throttle-debounce: 5.0.2 - '@antfu/eslint-config@2.23.1(@eslint-react/eslint-plugin@1.5.28(eslint@8.57.1)(typescript@5.6.3))(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react-refresh@0.4.8(eslint@8.57.1))(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@antfu/eslint-plugin-unused-imports': 4.0.0(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1) - '@antfu/install-pkg': 0.3.3 - '@clack/prompts': 0.7.0 - '@stylistic/eslint-plugin': 2.6.0-beta.0(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 - eslint-config-flat-gitignore: 0.1.8 - eslint-flat-config-utils: 0.2.5 - eslint-merge-processors: 0.1.0(eslint@8.57.1) - eslint-plugin-antfu: 2.3.4(eslint@8.57.1) - eslint-plugin-command: 0.2.3(eslint@8.57.1) - eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1) - eslint-plugin-import-x: 3.0.1(eslint@8.57.1)(typescript@5.6.3) - eslint-plugin-jsdoc: 48.8.3(eslint@8.57.1) - eslint-plugin-jsonc: 2.16.0(eslint@8.57.1) - eslint-plugin-markdown: 5.1.0(eslint@8.57.1) - eslint-plugin-n: 17.9.0(eslint@8.57.1) - eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-perfectionist: 2.11.0(eslint@8.57.1)(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@8.57.1)) - eslint-plugin-regexp: 2.6.0(eslint@8.57.1) - eslint-plugin-toml: 0.11.1(eslint@8.57.1) - eslint-plugin-unicorn: 54.0.0(eslint@8.57.1) - eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - eslint-plugin-vue: 9.27.0(eslint@8.57.1) - eslint-plugin-yml: 1.14.0(eslint@8.57.1) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.21)(eslint@8.57.1) - globals: 15.8.0 + '@antfu/eslint-config@3.9.2(@eslint-react/eslint-plugin@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.2(eslint@9.15.0(jiti@1.21.6)))(eslint-plugin-react-hooks@5.0.0(eslint@9.15.0(jiti@1.21.6)))(eslint-plugin-react-refresh@0.4.14(eslint@9.15.0(jiti@1.21.6)))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': + dependencies: + '@antfu/install-pkg': 0.4.1 + '@clack/prompts': 0.8.1 + '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.15.0(jiti@1.21.6)) + '@eslint/markdown': 6.2.1 + '@stylistic/eslint-plugin': 2.11.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/parser': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@vitest/eslint-plugin': 1.1.10(@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) + eslint-config-flat-gitignore: 0.3.0(eslint@9.15.0(jiti@1.21.6)) + eslint-flat-config-utils: 0.4.0 + eslint-merge-processors: 0.1.0(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-antfu: 2.7.0(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-command: 0.2.6(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-import-x: 4.4.3(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint-plugin-jsdoc: 50.5.0(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-jsonc: 2.18.2(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-n: 17.13.2(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-no-only-tests: 3.3.0 + eslint-plugin-perfectionist: 3.9.1(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.15.0(jiti@1.21.6))) + eslint-plugin-regexp: 2.7.0(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-toml: 0.11.1(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-unicorn: 56.0.1(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-vue: 9.31.0(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-yml: 1.15.0(eslint@9.15.0(jiti@1.21.6)) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.21)(eslint@9.15.0(jiti@1.21.6)) + globals: 15.12.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 picocolors: 1.1.1 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@8.57.1) + vue-eslint-parser: 9.4.3(eslint@9.15.0(jiti@1.21.6)) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 optionalDependencies: - '@eslint-react/eslint-plugin': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - eslint-plugin-format: 0.1.2(eslint@8.57.1) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) - eslint-plugin-react-refresh: 0.4.8(eslint@8.57.1) + '@eslint-react/eslint-plugin': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint-plugin-format: 0.1.2(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-react-hooks: 5.0.0(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-react-refresh: 0.4.14(eslint@9.15.0(jiti@1.21.6)) transitivePeerDependencies: + - '@eslint/json' + - '@typescript-eslint/utils' - '@vue/compiler-sfc' - supports-color - svelte - typescript - vitest - '@antfu/eslint-plugin-unused-imports@4.0.0(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)': - dependencies: - eslint: 8.57.1 - eslint-rule-composer: 0.3.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - - '@antfu/install-pkg@0.3.3': + '@antfu/install-pkg@0.4.1': dependencies: - '@jsdevtools/ez-spawn': 3.0.4 + package-manager-detector: 0.2.4 + tinyexec: 0.3.1 '@antfu/utils@0.7.10': {} @@ -8013,6 +8070,8 @@ snapshots: '@babel/helper-validator-identifier@7.24.5': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-option@7.23.5': {} '@babel/helper-wrap-function@7.22.20': @@ -8592,7 +8651,7 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 - '@clack/prompts@0.7.0': + '@clack/prompts@0.8.1': dependencies: '@clack/core': 0.3.4 picocolors: 1.1.1 @@ -9005,26 +9064,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@dg-scripts/eslint-config@5.21.3(@vue/compiler-sfc@3.4.21)(eslint-config-next@15.0.3(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(next@14.2.18(@babel/core@7.24.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(prettier@3.3.3)(typescript@5.6.3)': + '@dg-scripts/eslint-config@5.21.4(@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(@vue/compiler-sfc@3.4.21)(eslint-config-next@15.0.3(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(next@14.2.18(@babel/core@7.24.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(prettier@3.3.3)(typescript@5.6.3)': dependencies: - '@antfu/eslint-config': 2.23.1(@eslint-react/eslint-plugin@1.5.28(eslint@8.57.1)(typescript@5.6.3))(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.2(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react-refresh@0.4.8(eslint@8.57.1))(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/eslint-plugin': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint/eslintrc': 3.1.0 - eslint: 8.57.1 - eslint-plugin-format: 0.1.2(eslint@8.57.1) - eslint-plugin-promise: 6.5.1(eslint@8.57.1) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) - eslint-plugin-react-refresh: 0.4.8(eslint@8.57.1) + '@antfu/eslint-config': 3.9.2(@eslint-react/eslint-plugin@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(@vue/compiler-sfc@3.4.21)(eslint-plugin-format@0.1.2(eslint@9.15.0(jiti@1.21.6)))(eslint-plugin-react-hooks@5.0.0(eslint@9.15.0(jiti@1.21.6)))(eslint-plugin-react-refresh@0.4.14(eslint@9.15.0(jiti@1.21.6)))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/eslint-plugin': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint/eslintrc': 3.2.0 + eslint: 9.15.0(jiti@1.21.6) + eslint-plugin-format: 0.1.2(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-promise: 7.1.0(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-react-hooks: 5.0.0(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-react-refresh: 0.4.14(eslint@9.15.0(jiti@1.21.6)) eslint-plugin-security: 3.0.1 - eslint-plugin-testing-library: 6.2.2(eslint@8.57.1)(typescript@5.6.3) + eslint-plugin-testing-library: 6.5.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) local-pkg: 0.5.0 prettier: 3.3.3 typescript: 5.6.3 optionalDependencies: - eslint-config-next: 15.0.3(eslint@8.57.1)(typescript@5.6.3) + eslint-config-next: 15.0.3(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) next: 14.2.18(@babel/core@7.24.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: + - '@eslint/json' - '@prettier/plugin-xml' + - '@typescript-eslint/utils' - '@unocss/eslint-plugin' - '@vue/compiler-sfc' - astro-eslint-parser @@ -9038,11 +9099,11 @@ snapshots: - svelte-eslint-parser - vitest - '@dg-scripts/stylelint-config@5.21.3(postcss@8.4.49)(prettier@3.3.3)(stylelint@16.10.0(typescript@5.6.3))': + '@dg-scripts/stylelint-config@5.21.4(postcss@8.4.49)(prettier@3.3.3)(stylelint@16.10.0(typescript@5.6.3))': dependencies: prettier: 3.3.3 stylelint: 16.10.0(typescript@5.6.3) - stylelint-config-bod: 5.21.3(postcss@8.4.49)(stylelint@16.10.0(typescript@5.6.3)) + stylelint-config-bod: 5.21.4(postcss@8.4.49)(stylelint@16.10.0(typescript@5.6.3)) stylelint-prettier: 5.0.2(prettier@3.3.3)(stylelint@16.10.0(typescript@5.6.3)) transitivePeerDependencies: - postcss @@ -9128,140 +9189,160 @@ snapshots: '@emotion/weak-memoize@0.3.1': {} - '@es-joy/jsdoccomment@0.43.1': + '@es-joy/jsdoccomment@0.48.0': dependencies: - '@types/eslint': 8.56.10 - '@types/estree': 1.0.5 - '@typescript-eslint/types': 7.16.1 comment-parser: 1.4.1 esquery: 1.6.0 - jsdoc-type-pratt-parser: 4.0.0 + jsdoc-type-pratt-parser: 4.1.0 - '@es-joy/jsdoccomment@0.46.0': + '@es-joy/jsdoccomment@0.49.0': dependencies: comment-parser: 1.4.1 esquery: 1.6.0 - jsdoc-type-pratt-parser: 4.0.0 + jsdoc-type-pratt-parser: 4.1.0 - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': + '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.15.0(jiti@1.21.6))': dependencies: - eslint: 8.57.1 + escape-string-regexp: 4.0.0 + eslint: 9.15.0(jiti@1.21.6) + ignore: 5.3.2 + + '@eslint-community/eslint-utils@4.4.0(eslint@9.15.0(jiti@1.21.6))': + dependencies: + eslint: 9.15.0(jiti@1.21.6) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.4.1(eslint@9.15.0(jiti@1.21.6))': + dependencies: + eslint: 9.15.0(jiti@1.21.6) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.0': {} - '@eslint-react/ast@1.5.28(eslint@8.57.1)(typescript@5.6.3)': + '@eslint-community/regexpp@4.12.1': {} + + '@eslint-react/ast@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint-react/tools': 1.5.28 - '@eslint-react/types': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@eslint-react/types': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + birecord: 0.1.1 + string-ts: 2.2.0 + ts-pattern: 5.5.0 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/core@1.5.28(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@eslint-react/ast': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/jsx': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/shared': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/tools': 1.5.28 - '@eslint-react/types': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/var': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/type-utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) + '@eslint-react/core@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': + dependencies: + '@eslint-react/ast': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/jsx': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/shared': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@eslint-react/types': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/var': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + birecord: 0.1.1 + short-unique-id: 5.2.0 + ts-pattern: 5.5.0 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/eslint-plugin@1.5.28(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@eslint-react/shared': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/tools': 1.5.28 - '@eslint-react/types': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/type-utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 - eslint-plugin-react-debug: 1.5.28(eslint@8.57.1)(typescript@5.6.3) - eslint-plugin-react-dom: 1.5.28(eslint@8.57.1)(typescript@5.6.3) - eslint-plugin-react-hooks-extra: 1.5.28(eslint@8.57.1)(typescript@5.6.3) - eslint-plugin-react-naming-convention: 1.5.28(eslint@8.57.1)(typescript@5.6.3) - eslint-plugin-react-x: 1.5.28(eslint@8.57.1)(typescript@5.6.3) + '@eslint-react/eslint-plugin@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': + dependencies: + '@eslint-react/shared': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@eslint-react/types': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) + eslint-plugin-react-debug: 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint-plugin-react-dom: 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint-plugin-react-hooks-extra: 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint-plugin-react-naming-convention: 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint-plugin-react-web-api: 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint-plugin-react-x: 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@eslint-react/jsx@1.5.28(eslint@8.57.1)(typescript@5.6.3)': + '@eslint-react/jsx@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@eslint-react/ast': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/tools': 1.5.28 - '@eslint-react/types': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/var': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) + '@eslint-react/ast': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@eslint-react/types': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/var': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + ts-pattern: 5.5.0 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/shared@1.5.28(eslint@8.57.1)(typescript@5.6.3)': + '@eslint-react/shared@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + picomatch: 4.0.2 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/tools@1.5.28': {} + '@eslint-react/tools@1.16.2': {} - '@eslint-react/types@1.5.28(eslint@8.57.1)(typescript@5.6.3)': + '@eslint-react/types@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@eslint-react/tools': 1.5.28 - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint-react/var@1.5.28(eslint@8.57.1)(typescript@5.6.3)': + '@eslint-react/var@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@eslint-react/ast': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/tools': 1.5.28 - '@eslint-react/types': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) + '@eslint-react/ast': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@eslint-react/types': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + ts-pattern: 5.5.0 transitivePeerDependencies: - eslint - supports-color - typescript - '@eslint/eslintrc@2.1.4': + '@eslint/compat@1.2.3(eslint@9.15.0(jiti@1.21.6))': + optionalDependencies: + eslint: 9.15.0(jiti@1.21.6) + + '@eslint/config-array@0.19.0': dependencies: - ajv: 6.12.6 + '@eslint/object-schema': 2.1.4 debug: 4.3.7(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.2 - import-fresh: 3.3.0 - js-yaml: 4.1.0 minimatch: 3.1.2 - strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - '@eslint/eslintrc@3.1.0': + '@eslint/core@0.9.0': {} + + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 debug: 4.3.7(supports-color@8.1.1) @@ -9275,7 +9356,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.1': {} + '@eslint/js@9.15.0': {} + + '@eslint/markdown@6.2.1': + dependencies: + '@eslint/plugin-kit': 0.2.3 + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + transitivePeerDependencies: + - supports-color + + '@eslint/object-schema@2.1.4': {} + + '@eslint/plugin-kit@0.2.3': + dependencies: + levn: 0.4.1 '@hapi/hoek@9.3.0': {} @@ -9283,17 +9379,18 @@ snapshots: dependencies: '@hapi/hoek': 9.3.0 - '@humanwhocodes/config-array@0.13.0': + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7(supports-color@8.1.1) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.1': {} '@hutson/parse-repository-url@3.0.2': {} @@ -9500,13 +9597,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jsdevtools/ez-spawn@3.0.4': - dependencies: - call-me-maybe: 1.0.2 - cross-spawn: 7.0.3 - string-argv: 0.3.2 - type-detect: 4.0.8 - '@lezer/common@1.2.1': {} '@lezer/css@1.1.8': @@ -9819,49 +9909,14 @@ snapshots: '@stitches/core@1.2.8': {} - '@stylistic/eslint-plugin-js@2.6.0-beta.0(eslint@8.57.1)': - dependencies: - '@types/eslint': 8.56.10 - acorn: 8.12.1 - eslint: 8.57.1 - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 - - '@stylistic/eslint-plugin-jsx@2.6.0-beta.0(eslint@8.57.1)': + '@stylistic/eslint-plugin@2.11.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@8.57.1) - '@types/eslint': 8.56.10 - eslint: 8.57.1 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 estraverse: 5.3.0 picomatch: 4.0.2 - - '@stylistic/eslint-plugin-plus@2.6.0-beta.0(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 8.0.0-alpha.47(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 - transitivePeerDependencies: - - supports-color - - typescript - - '@stylistic/eslint-plugin-ts@2.6.0-beta.0(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@8.57.1) - '@types/eslint': 8.56.10 - '@typescript-eslint/utils': 8.0.0-alpha.47(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 - transitivePeerDependencies: - - supports-color - - typescript - - '@stylistic/eslint-plugin@2.6.0-beta.0(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@8.57.1) - '@stylistic/eslint-plugin-jsx': 2.6.0-beta.0(eslint@8.57.1) - '@stylistic/eslint-plugin-plus': 2.6.0-beta.0(eslint@8.57.1)(typescript@5.6.3) - '@stylistic/eslint-plugin-ts': 2.6.0-beta.0(eslint@8.57.1)(typescript@5.6.3) - '@types/eslint': 8.56.10 - eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript @@ -9962,6 +10017,8 @@ snapshots: '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 @@ -10075,16 +10132,16 @@ snapshots: '@types/node': 22.9.1 optional: true - '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/type-utils': 7.2.0(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/utils': 7.2.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/type-utils': 7.2.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/utils': 7.2.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -10095,15 +10152,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.0.0-alpha.40 - '@typescript-eslint/type-utils': 8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 - eslint: 8.57.1 + '@typescript-eslint/parser': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.15.0 + eslint: 9.15.0(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -10113,27 +10170,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.3) '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@typescript-eslint/scope-manager': 8.0.0-alpha.40 - '@typescript-eslint/types': 8.0.0-alpha.40 - '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.15.0 debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -10149,73 +10206,47 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/scope-manager@7.16.1': - dependencies: - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/visitor-keys': 7.16.1 - '@typescript-eslint/scope-manager@7.2.0': dependencies: '@typescript-eslint/types': 7.2.0 '@typescript-eslint/visitor-keys': 7.2.0 - '@typescript-eslint/scope-manager@8.0.0-alpha.40': + '@typescript-eslint/scope-manager@8.15.0': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.40 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/visitor-keys': 8.15.0 - '@typescript-eslint/scope-manager@8.0.0-alpha.47': - dependencies: - '@typescript-eslint/types': 8.0.0-alpha.47 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.47 - - '@typescript-eslint/type-utils@7.16.1(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.6.3) - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 - ts-api-utils: 1.3.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/type-utils@7.2.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/type-utils@7.2.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.3) - '@typescript-eslint/utils': 7.2.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 7.2.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/type-utils@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.6.3) - '@typescript-eslint/utils': 8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) debug: 4.3.7(supports-color@8.1.1) + eslint: 9.15.0(jiti@1.21.6) ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - - eslint - supports-color '@typescript-eslint/types@5.62.0': {} '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/types@7.16.1': {} - '@typescript-eslint/types@7.2.0': {} - '@typescript-eslint/types@8.0.0-alpha.40': {} - - '@typescript-eslint/types@8.0.0-alpha.47': {} + '@typescript-eslint/types@8.15.0': {} '@typescript-eslint/typescript-estree@5.62.0(typescript@5.6.3)': dependencies: @@ -10246,21 +10277,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.16.1(typescript@5.6.3)': - dependencies: - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/visitor-keys': 7.16.1 - debug: 4.3.7(supports-color@8.1.1) - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.4 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@7.2.0(typescript@5.6.3)': dependencies: '@typescript-eslint/types': 7.2.0 @@ -10276,27 +10292,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.0.0-alpha.40(typescript@5.6.3)': - dependencies: - '@typescript-eslint/types': 8.0.0-alpha.40 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.40 - debug: 4.3.7(supports-color@8.1.1) - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.4 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@8.0.0-alpha.47(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.15.0(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.47 - '@typescript-eslint/visitor-keys': 8.0.0-alpha.47 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/visitor-keys': 8.15.0 debug: 4.3.7(supports-color@8.1.1) - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.4 semver: 7.6.3 @@ -10306,67 +10307,46 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/utils@5.62.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0(jiti@1.21.6)) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.6.3) - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) eslint-scope: 5.1.1 semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@7.16.1(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/utils@7.2.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.6.3) - eslint: 8.57.1 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@7.2.0(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0(jiti@1.21.6)) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.2.0 '@typescript-eslint/types': 7.2.0 '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.3) - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.0.0-alpha.40 - '@typescript-eslint/types': 8.0.0-alpha.40 - '@typescript-eslint/typescript-estree': 8.0.0-alpha.40(typescript@5.6.3) - eslint: 8.57.1 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@8.0.0-alpha.47(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.0.0-alpha.47 - '@typescript-eslint/types': 8.0.0-alpha.47 - '@typescript-eslint/typescript-estree': 8.0.0-alpha.47(typescript@5.6.3) - eslint: 8.57.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) + optionalDependencies: + typescript: 5.6.3 transitivePeerDependencies: - supports-color - - typescript '@typescript-eslint/visitor-keys@5.62.0': dependencies: @@ -10378,28 +10358,25 @@ snapshots: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.16.1': - dependencies: - '@typescript-eslint/types': 7.16.1 - eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.2.0': dependencies: '@typescript-eslint/types': 7.2.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.0.0-alpha.40': + '@typescript-eslint/visitor-keys@8.15.0': dependencies: - '@typescript-eslint/types': 8.0.0-alpha.40 - eslint-visitor-keys: 3.4.3 - - '@typescript-eslint/visitor-keys@8.0.0-alpha.47': - dependencies: - '@typescript-eslint/types': 8.0.0-alpha.47 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.15.0 + eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.2.0': {} + '@vitest/eslint-plugin@1.1.10(@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)': + dependencies: + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) + optionalDependencies: + typescript: 5.6.3 + '@vue/compiler-core@3.4.21': dependencies: '@babel/parser': 7.24.5 @@ -10534,10 +10511,16 @@ snapshots: dependencies: acorn: 8.12.1 + acorn-jsx@5.3.2(acorn@8.14.0): + dependencies: + acorn: 8.14.0 + acorn-walk@8.3.2: {} acorn@8.12.1: {} + acorn@8.14.0: {} + add-stream@1.0.0: {} agent-base@6.0.2: @@ -10936,6 +10919,8 @@ snapshots: binary-extensions@2.2.0: {} + birecord@0.1.1: {} + blob-util@2.0.2: {} bluebird@3.7.2: {} @@ -10962,6 +10947,13 @@ snapshots: node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) + browserslist@4.24.2: + dependencies: + caniuse-lite: 1.0.30001680 + electron-to-chromium: 1.5.63 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.2) + bs-logger@0.2.6: dependencies: fast-json-stable-stringify: 2.1.0 @@ -11000,8 +10992,6 @@ snapshots: get-intrinsic: 1.2.4 set-function-length: 1.2.1 - call-me-maybe@1.0.2: {} - callsites@3.1.0: {} camelcase-css@2.0.1: {} @@ -11018,6 +11008,8 @@ snapshots: caniuse-lite@1.0.30001638: {} + caniuse-lite@1.0.30001680: {} + caseless@0.12.0: {} ccount@2.0.1: {} @@ -11302,6 +11294,10 @@ snapshots: dependencies: browserslist: 4.23.1 + core-js-compat@3.39.0: + dependencies: + browserslist: 4.24.2 + core-util-is@1.0.2: {} core-util-is@1.0.3: {} @@ -11346,6 +11342,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + crypto-random-string@2.0.0: {} css-blank-pseudo@7.0.1(postcss@8.4.49): @@ -11629,6 +11631,8 @@ snapshots: electron-to-chromium@1.4.815: {} + electron-to-chromium@1.5.63: {} + emittery@0.13.1: {} emoji-regex@8.0.0: {} @@ -11646,6 +11650,11 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + enhanced-resolve@5.17.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -11778,6 +11787,8 @@ snapshots: escalade@3.1.2: {} + escalade@3.2.0: {} + escape-carriage@1.3.1: {} escape-string-regexp@1.0.5: {} @@ -11796,43 +11807,53 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.0(eslint@8.57.1): + eslint-compat-utils@0.5.0(eslint@9.15.0(jiti@1.21.6)): dependencies: - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) semver: 7.6.3 - eslint-config-flat-gitignore@0.1.8: + eslint-compat-utils@0.5.1(eslint@9.15.0(jiti@1.21.6)): dependencies: + eslint: 9.15.0(jiti@1.21.6) + semver: 7.6.3 + + eslint-compat-utils@0.6.3(eslint@9.15.0(jiti@1.21.6)): + dependencies: + eslint: 9.15.0(jiti@1.21.6) + semver: 7.6.3 + + eslint-config-flat-gitignore@0.3.0(eslint@9.15.0(jiti@1.21.6)): + dependencies: + '@eslint/compat': 1.2.3(eslint@9.15.0(jiti@1.21.6)) + eslint: 9.15.0(jiti@1.21.6) find-up-simple: 1.0.0 - parse-gitignore: 2.0.0 - eslint-config-next@15.0.3(eslint@8.57.1)(typescript@5.6.3): + eslint-config-next@15.0.3(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3): dependencies: '@next/eslint-plugin-next': 15.0.3 '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 + '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/parser': 6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) - eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) - eslint-plugin-react: 7.37.2(eslint@8.57.1) - eslint-plugin-react-hooks: 5.0.0(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-react: 7.37.2(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-react-hooks: 5.0.0(eslint@9.15.0(jiti@1.21.6)) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color - eslint-flat-config-utils@0.2.5: + eslint-flat-config-utils@0.4.0: dependencies: - '@types/eslint': 8.56.10 pathe: 1.1.2 - eslint-formatting-reporter@0.0.0(eslint@8.57.1): + eslint-formatting-reporter@0.0.0(eslint@9.15.0(jiti@1.21.6)): dependencies: - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) prettier-linter-helpers: 1.0.0 eslint-import-resolver-node@0.3.9: @@ -11843,13 +11864,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.15.0(jiti@1.21.6)): dependencies: debug: 4.3.7(supports-color@8.1.1) enhanced-resolve: 5.17.0 - eslint: 8.57.1 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) + eslint: 9.15.0(jiti@1.21.6) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.15.0(jiti@1.21.6)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.15.0(jiti@1.21.6)) fast-glob: 3.3.2 get-tsconfig: 4.7.3 is-core-module: 2.15.1 @@ -11860,64 +11881,63 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-merge-processors@0.1.0(eslint@8.57.1): + eslint-json-compat-utils@0.2.1(eslint@9.15.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0): dependencies: - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) + esquery: 1.6.0 + jsonc-eslint-parser: 2.4.0 + + eslint-merge-processors@0.1.0(eslint@9.15.0(jiti@1.21.6)): + dependencies: + eslint: 9.15.0(jiti@1.21.6) - eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.15.0(jiti@1.21.6)): dependencies: debug: 3.2.7(supports-color@8.1.1) optionalDependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 + '@typescript-eslint/parser': 6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.15.0(jiti@1.21.6)) transitivePeerDependencies: - supports-color eslint-parser-plain@0.1.0: {} - eslint-plugin-antfu@2.3.4(eslint@8.57.1): + eslint-plugin-antfu@2.7.0(eslint@9.15.0(jiti@1.21.6)): dependencies: '@antfu/utils': 0.7.10 - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) - eslint-plugin-command@0.2.3(eslint@8.57.1): + eslint-plugin-command@0.2.6(eslint@9.15.0(jiti@1.21.6)): dependencies: - '@es-joy/jsdoccomment': 0.43.1 - eslint: 8.57.1 + '@es-joy/jsdoccomment': 0.48.0 + eslint: 9.15.0(jiti@1.21.6) - eslint-plugin-es-x@7.6.0(eslint@8.57.1): + eslint-plugin-es-x@7.8.0(eslint@9.15.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.10.0 - eslint: 8.57.1 - eslint-compat-utils: 0.5.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6)) + '@eslint-community/regexpp': 4.12.1 + eslint: 9.15.0(jiti@1.21.6) + eslint-compat-utils: 0.5.1(eslint@9.15.0(jiti@1.21.6)) - eslint-plugin-eslint-comments@3.2.0(eslint@8.57.1): - dependencies: - escape-string-regexp: 1.0.5 - eslint: 8.57.1 - ignore: 5.3.2 - - eslint-plugin-format@0.1.2(eslint@8.57.1): + eslint-plugin-format@0.1.2(eslint@9.15.0(jiti@1.21.6)): dependencies: '@dprint/formatter': 0.3.0 '@dprint/markdown': 0.17.1 '@dprint/toml': 0.6.2 - eslint: 8.57.1 - eslint-formatting-reporter: 0.0.0(eslint@8.57.1) + eslint: 9.15.0(jiti@1.21.6) + eslint-formatting-reporter: 0.0.0(eslint@9.15.0(jiti@1.21.6)) eslint-parser-plain: 0.1.0 prettier: 3.3.3 synckit: 0.9.1 - eslint-plugin-import-x@3.0.1(eslint@8.57.1)(typescript@5.6.3): + eslint-plugin-import-x@4.4.3(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3): dependencies: - '@rtsao/scc': 1.1.0 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) debug: 4.3.7(supports-color@8.1.1) doctrine: 3.0.0 - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.3 is-glob: 4.0.3 @@ -11929,7 +11949,7 @@ snapshots: - supports-color - typescript - eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.15.0(jiti@1.21.6)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -11938,9 +11958,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7(supports-color@8.1.1) doctrine: 2.1.0 - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@9.15.0(jiti@1.21.6)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -11952,20 +11972,21 @@ snapshots: string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsdoc@48.8.3(eslint@8.57.1): + eslint-plugin-jsdoc@50.5.0(eslint@9.15.0(jiti@1.21.6)): dependencies: - '@es-joy/jsdoccomment': 0.46.0 + '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.7(supports-color@8.1.1) escape-string-regexp: 4.0.0 - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) + espree: 10.1.0 esquery: 1.6.0 parse-imports: 2.1.1 semver: 7.6.3 @@ -11974,18 +11995,21 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.16.0(eslint@8.57.1): + eslint-plugin-jsonc@2.18.2(eslint@9.15.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - eslint: 8.57.1 - eslint-compat-utils: 0.5.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0(jiti@1.21.6)) + eslint: 9.15.0(jiti@1.21.6) + eslint-compat-utils: 0.6.3(eslint@9.15.0(jiti@1.21.6)) + eslint-json-compat-utils: 0.2.1(eslint@9.15.0(jiti@1.21.6))(jsonc-eslint-parser@2.4.0) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 synckit: 0.6.2 + transitivePeerDependencies: + - '@eslint/json' - eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.15.0(jiti@1.21.6)): dependencies: aria-query: 5.3.2 array-includes: 3.1.8 @@ -11995,7 +12019,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -12004,150 +12028,166 @@ snapshots: safe-regex-test: 1.0.3 string.prototype.includes: 2.0.1 - eslint-plugin-markdown@5.1.0(eslint@8.57.1): + eslint-plugin-n@17.13.2(eslint@9.15.0(jiti@1.21.6)): dependencies: - eslint: 8.57.1 - mdast-util-from-markdown: 0.8.5 - transitivePeerDependencies: - - supports-color - - eslint-plugin-n@17.9.0(eslint@8.57.1): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - enhanced-resolve: 5.17.0 - eslint: 8.57.1 - eslint-plugin-es-x: 7.6.0(eslint@8.57.1) - get-tsconfig: 4.7.3 - globals: 15.8.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@1.21.6)) + enhanced-resolve: 5.17.1 + eslint: 9.15.0(jiti@1.21.6) + eslint-plugin-es-x: 7.8.0(eslint@9.15.0(jiti@1.21.6)) + get-tsconfig: 4.8.1 + globals: 15.12.0 ignore: 5.3.2 - minimatch: 9.0.4 + minimatch: 9.0.5 semver: 7.6.3 - eslint-plugin-no-only-tests@3.1.0: {} + eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@2.11.0(eslint@8.57.1)(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@8.57.1)): + eslint-plugin-perfectionist@3.9.1(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.15.0(jiti@1.21.6))): dependencies: - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 - minimatch: 9.0.4 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) + minimatch: 9.0.5 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.3(eslint@8.57.1) + vue-eslint-parser: 9.4.3(eslint@9.15.0(jiti@1.21.6)) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-promise@6.5.1(eslint@8.57.1): + eslint-plugin-promise@7.1.0(eslint@9.15.0(jiti@1.21.6)): dependencies: - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) - eslint-plugin-react-debug@1.5.28(eslint@8.57.1)(typescript@5.6.3): + eslint-plugin-react-debug@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3): dependencies: - '@eslint-react/ast': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/core': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/jsx': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/shared': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/tools': 1.5.28 - '@eslint-react/types': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/type-utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 + '@eslint-react/ast': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/core': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/jsx': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/shared': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@eslint-react/types': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/var': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) string-ts: 2.2.0 + ts-pattern: 5.5.0 optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-dom@1.5.28(eslint@8.57.1)(typescript@5.6.3): - dependencies: - '@eslint-react/ast': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/core': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/jsx': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/shared': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/tools': 1.5.28 - '@eslint-react/types': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/var': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 + eslint-plugin-react-dom@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3): + dependencies: + '@eslint-react/ast': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/core': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/jsx': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/shared': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@eslint-react/types': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/var': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) + ts-pattern: 5.5.0 optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks-extra@1.5.28(eslint@8.57.1)(typescript@5.6.3): - dependencies: - '@eslint-react/ast': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/core': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/jsx': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/shared': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/tools': 1.5.28 - '@eslint-react/types': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/var': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/type-utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 + eslint-plugin-react-hooks-extra@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3): + dependencies: + '@eslint-react/ast': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/core': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/jsx': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/shared': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@eslint-react/types': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/var': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) + ts-pattern: 5.5.0 optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): + eslint-plugin-react-hooks@5.0.0(eslint@9.15.0(jiti@1.21.6)): dependencies: - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) - eslint-plugin-react-hooks@5.0.0(eslint@8.57.1): + eslint-plugin-react-naming-convention@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3): dependencies: - eslint: 8.57.1 + '@eslint-react/ast': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/core': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/jsx': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/shared': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@eslint-react/types': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) + ts-pattern: 5.5.0 + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color - eslint-plugin-react-naming-convention@1.5.28(eslint@8.57.1)(typescript@5.6.3): - dependencies: - '@eslint-react/ast': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/core': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/jsx': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/shared': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/tools': 1.5.28 - '@eslint-react/types': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/type-utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 + eslint-plugin-react-refresh@0.4.14(eslint@9.15.0(jiti@1.21.6)): + dependencies: + eslint: 9.15.0(jiti@1.21.6) + + eslint-plugin-react-web-api@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3): + dependencies: + '@eslint-react/ast': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/core': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/jsx': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/shared': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@eslint-react/types': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/var': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + birecord: 0.1.1 + eslint: 9.15.0(jiti@1.21.6) + ts-pattern: 5.5.0 optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-refresh@0.4.8(eslint@8.57.1): - dependencies: - eslint: 8.57.1 - - eslint-plugin-react-x@1.5.28(eslint@8.57.1)(typescript@5.6.3): - dependencies: - '@eslint-react/ast': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/core': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/jsx': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/shared': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/tools': 1.5.28 - '@eslint-react/types': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@eslint-react/var': 1.5.28(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/type-utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 - is-immutable-type: 4.0.0(eslint@8.57.1)(typescript@5.6.3) + eslint-plugin-react-x@1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3): + dependencies: + '@eslint-react/ast': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/core': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/jsx': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/shared': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/tools': 1.16.2 + '@eslint-react/types': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@eslint-react/var': 1.16.2(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) + is-immutable-type: 5.0.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + ts-pattern: 5.5.0 optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - eslint-plugin-react@7.37.2(eslint@8.57.1): + eslint-plugin-react@7.37.2(eslint@9.15.0(jiti@1.21.6)): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -12155,7 +12195,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.0 - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -12169,12 +12209,12 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 - eslint-plugin-regexp@2.6.0(eslint@8.57.1): + eslint-plugin-regexp@2.7.0(eslint@9.15.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0(jiti@1.21.6)) + '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) jsdoc-type-pratt-parser: 4.0.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 @@ -12184,34 +12224,34 @@ snapshots: dependencies: safe-regex: 2.1.1 - eslint-plugin-testing-library@6.2.2(eslint@8.57.1)(typescript@5.6.3): + eslint-plugin-testing-library@6.5.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 + '@typescript-eslint/utils': 5.62.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-toml@0.11.1(eslint@8.57.1): + eslint-plugin-toml@0.11.1(eslint@9.15.0(jiti@1.21.6)): dependencies: debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 - eslint-compat-utils: 0.5.0(eslint@8.57.1) + eslint: 9.15.0(jiti@1.21.6) + eslint-compat-utils: 0.5.0(eslint@9.15.0(jiti@1.21.6)) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@54.0.0(eslint@8.57.1): + eslint-plugin-unicorn@56.0.1(eslint@9.15.0(jiti@1.21.6)): dependencies: - '@babel/helper-validator-identifier': 7.24.5 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint/eslintrc': 3.1.0 + '@babel/helper-validator-identifier': 7.25.9 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0(jiti@1.21.6)) ci-info: 4.0.0 clean-regexp: 1.0.0 - core-js-compat: 3.37.1 - eslint: 8.57.1 + core-js-compat: 3.39.0 + eslint: 9.15.0(jiti@1.21.6) esquery: 1.6.0 + globals: 15.12.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 jsesc: 3.0.2 @@ -12221,50 +12261,42 @@ snapshots: regjsparser: 0.10.0 semver: 7.6.3 strip-indent: 3.0.0 - transitivePeerDependencies: - - supports-color - eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@6.21.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6)): dependencies: - '@typescript-eslint/utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.0-alpha.40(@typescript-eslint/parser@8.0.0-alpha.40(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) - transitivePeerDependencies: - - supports-color - - typescript + '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) - eslint-plugin-vue@9.27.0(eslint@8.57.1): + eslint-plugin-vue@9.31.0(eslint@9.15.0(jiti@1.21.6)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - eslint: 8.57.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0(jiti@1.21.6)) + eslint: 9.15.0(jiti@1.21.6) globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@8.57.1) + vue-eslint-parser: 9.4.3(eslint@9.15.0(jiti@1.21.6)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.14.0(eslint@8.57.1): + eslint-plugin-yml@1.15.0(eslint@9.15.0(jiti@1.21.6)): dependencies: debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 - eslint-compat-utils: 0.5.0(eslint@8.57.1) + eslint: 9.15.0(jiti@1.21.6) + eslint-compat-utils: 0.5.0(eslint@9.15.0(jiti@1.21.6)) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.21)(eslint@8.57.1): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.21)(eslint@9.15.0(jiti@1.21.6)): dependencies: '@vue/compiler-sfc': 3.4.21 - eslint: 8.57.1 - - eslint-rule-composer@0.3.0: {} + eslint: 9.15.0(jiti@1.21.6) eslint-scope@5.1.1: dependencies: @@ -12276,50 +12308,55 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-scope@8.2.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.0.0: {} - eslint@8.57.1: + eslint-visitor-keys@4.2.0: {} + + eslint@9.15.0(jiti@1.21.6): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0(jiti@1.21.6)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.0 + '@eslint/core': 0.9.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.15.0 + '@eslint/plugin-kit': 0.2.3 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 + '@humanwhocodes/retry': 0.4.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 debug: 4.3.7(supports-color@8.1.1) - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 + optionalDependencies: + jiti: 1.21.6 transitivePeerDependencies: - supports-color @@ -12336,6 +12373,12 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 4.0.0 + espree@10.3.0: + dependencies: + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 + espree@9.6.1: dependencies: acorn: 8.12.1 @@ -12524,9 +12567,9 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 file-entry-cache@9.1.0: dependencies: @@ -12568,11 +12611,10 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 flat-cache@5.0.0: dependencies: @@ -12679,6 +12721,10 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + get-tsconfig@4.8.1: + dependencies: + resolve-pkg-maps: 1.0.0 + getos@3.2.1: dependencies: async: 3.2.5 @@ -12758,7 +12804,7 @@ snapshots: globals@14.0.0: {} - globals@15.8.0: {} + globals@15.12.0: {} globalthis@1.0.4: dependencies: @@ -13163,12 +13209,12 @@ snapshots: is-hexadecimal@2.0.1: {} - is-immutable-type@4.0.0(eslint@8.57.1)(typescript@5.6.3): + is-immutable-type@5.0.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3): dependencies: - '@typescript-eslint/type-utils': 7.16.1(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.15.0(jiti@1.21.6) ts-api-utils: 1.3.0(typescript@5.6.3) - ts-declaration-location: 1.0.3(typescript@5.6.3) + ts-declaration-location: 1.0.4(typescript@5.6.3) typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -13712,6 +13758,8 @@ snapshots: jsdoc-type-pratt-parser@4.0.0: {} + jsdoc-type-pratt-parser@4.1.0: {} + jsdom@20.0.3: dependencies: abab: 2.0.6 @@ -14053,6 +14101,23 @@ snapshots: transitivePeerDependencies: - supports-color + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + mdast-util-frontmatter@0.2.0: dependencies: micromark-extension-frontmatter: 0.2.2 @@ -14544,6 +14609,10 @@ snapshots: min-indent@1.0.1: {} + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -14560,6 +14629,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + minimist-options@4.1.0: dependencies: arrify: 1.0.1 @@ -14682,6 +14755,8 @@ snapshots: node-releases@2.0.14: {} + node-releases@2.0.18: {} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 @@ -14811,6 +14886,8 @@ snapshots: p-try@2.2.0: {} + package-manager-detector@0.2.4: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -15752,7 +15829,7 @@ snapshots: refa@0.12.1: dependencies: - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/regexpp': 4.12.1 reflect.getprototypeof@1.0.5: dependencies: @@ -15778,7 +15855,7 @@ snapshots: regexp-ast-analysis@0.7.1: dependencies: - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/regexpp': 4.12.1 refa: 0.12.1 regexp-tree@0.1.27: {} @@ -15978,10 +16055,6 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - rollup-plugin-terser@7.0.2(rollup@2.79.1): dependencies: '@babel/code-frame': 7.23.5 @@ -16061,7 +16134,7 @@ snapshots: scslre@0.3.0: dependencies: - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/regexpp': 4.12.1 refa: 0.12.1 regexp-ast-analysis: 0.7.1 @@ -16108,6 +16181,8 @@ snapshots: shebang-regex@3.0.0: {} + short-unique-id@5.2.0: {} + side-channel@1.0.6: dependencies: call-bind: 1.0.7 @@ -16263,8 +16338,6 @@ snapshots: strict-event-emitter@0.4.6: {} - string-argv@0.3.2: {} - string-convert@0.2.1: {} string-length@4.0.2: @@ -16396,13 +16469,13 @@ snapshots: '@babel/core': 7.24.0 babel-plugin-macros: 3.1.0 - stylelint-config-bod@5.21.3(postcss@8.4.49)(stylelint@16.10.0(typescript@5.6.3)): + stylelint-config-bod@5.21.4(postcss@8.4.49)(stylelint@16.10.0(typescript@5.6.3)): dependencies: postcss-html: 1.7.0 postcss-markdown: 1.2.0 stylelint: 16.10.0(typescript@5.6.3) stylelint-config-html: 1.1.0(postcss-html@1.7.0)(stylelint@16.10.0(typescript@5.6.3)) - stylelint-config-recess-order: 5.0.1(stylelint@16.10.0(typescript@5.6.3)) + stylelint-config-recess-order: 5.1.1(stylelint@16.10.0(typescript@5.6.3)) stylelint-config-standard: 36.0.1(stylelint@16.10.0(typescript@5.6.3)) stylelint-config-standard-scss: 13.1.0(postcss@8.4.49)(stylelint@16.10.0(typescript@5.6.3)) transitivePeerDependencies: @@ -16414,7 +16487,7 @@ snapshots: postcss-html: 1.7.0 stylelint: 16.10.0(typescript@5.6.3) - stylelint-config-recess-order@5.0.1(stylelint@16.10.0(typescript@5.6.3)): + stylelint-config-recess-order@5.1.1(stylelint@16.10.0(typescript@5.6.3)): dependencies: stylelint: 16.10.0(typescript@5.6.3) stylelint-order: 6.0.4(stylelint@16.10.0(typescript@5.6.3)) @@ -16626,8 +16699,6 @@ snapshots: text-extensions@1.9.0: {} - text-table@0.2.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -16649,6 +16720,8 @@ snapshots: through@2.3.8: {} + tinyexec@0.3.1: {} + tldts-core@6.1.61: {} tldts@6.1.61: @@ -16710,9 +16783,9 @@ snapshots: dependencies: typescript: 5.6.3 - ts-declaration-location@1.0.3(typescript@5.6.3): + ts-declaration-location@1.0.4(typescript@5.6.3): dependencies: - minimatch: 9.0.4 + minimatch: 10.0.1 typescript: 5.6.3 ts-easing@0.2.0: {} @@ -16738,6 +16811,8 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.24.0) + ts-pattern@5.5.0: {} + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -16935,6 +17010,12 @@ snapshots: escalade: 3.1.2 picocolors: 1.1.1 + update-browserslist-db@1.1.1(browserslist@4.24.2): + dependencies: + browserslist: 4.24.2 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -16990,10 +17071,10 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vue-eslint-parser@9.4.3(eslint@8.57.1): + vue-eslint-parser@9.4.3(eslint@9.15.0(jiti@1.21.6)): dependencies: debug: 4.3.7(supports-color@8.1.1) - eslint: 8.57.1 + eslint: 9.15.0(jiti@1.21.6) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -17054,7 +17135,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 acorn-import-assertions: 1.9.0(acorn@8.12.1) - browserslist: 4.23.1 + browserslist: 4.24.2 chrome-trace-event: 1.0.3 enhanced-resolve: 5.17.0 es-module-lexer: 1.5.4 diff --git a/styles/globals.css b/styles/globals.css index e9c62dea0..460dfbc2c 100644 --- a/styles/globals.css +++ b/styles/globals.css @@ -13,8 +13,7 @@ font-weight: 400; src: url('/fonts/Raleway.woff2') format('woff2'); font-display: swap; - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, - U+FE2E-FE2F; + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @@ -34,8 +33,7 @@ font-weight: 400; src: url('/fonts/Raleway.woff2') format('woff2'); font-display: swap; - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, - U+01AF-01B0, U+1EA0-1EF9, U+20AB; + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @@ -45,8 +43,7 @@ font-weight: 400; src: url('/fonts/Raleway.woff2') format('woff2'); font-display: swap; - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, - U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @@ -56,9 +53,8 @@ font-weight: 400; src: url('/fonts/RalewayLatin.woff2') format('woff2'); font-display: swap; - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, - U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, - U+FEFF, U+FFFD; + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, + U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } :root { @@ -66,9 +62,8 @@ --secondary: #40a9ff; --light: #f8f9fa; --dark: #343a40; - --font-stack: 'Raleway', 'Spectral', 'Noto Serif SC', 'Noto Sans SC', - 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', - 'Open Sans', 'Helvetica Neue', arial, sans-serif, serif; + --font-stack: 'Raleway', 'Spectral', 'Noto Serif SC', 'Noto Sans SC', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', + 'Oxygen', 'Ubuntu', 'Cantarell', 'Open Sans', 'Helvetica Neue', arial, sans-serif, serif; --font-size: 18px; } @@ -79,13 +74,7 @@ background: linear-gradient(63deg, #262626 23%, transparent 0) 7px 0, linear-gradient(63deg, transparent 73%, #262626 76%), - linear-gradient( - 63deg, - transparent 34%, - #262626 38%, - #262626 58%, - transparent 62% - ), + linear-gradient(63deg, transparent 34%, #262626 38%, #262626 58%, transparent 62%), #222; background-size: 16px 48px; } diff --git a/tailwind.config.ts b/tailwind.config.ts index 231e51512..ebb28c79a 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -114,6 +114,7 @@ const config: Config = { }, }, plugins: [ + // eslint-disable-next-line ts/unbound-method -- Tailwind API. plugin(({ addComponents, addUtilities, matchUtilities, theme }) => { addComponents({ '.bg-gradient-primary': {