diff --git a/.vscode/settings.json b/.vscode/settings.json index 5ec973fad..e3dd15833 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,26 +1,50 @@ { + // Disable the default formatter, use eslint instead + "prettier.enable": false, + "editor.formatOnSave": false, + + // Auto fix "editor.codeActionsOnSave": { - "quickfix.biome": "explicit", - "source.organizeImports": "explicit" + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" }, - "editor.defaultFormatter": "biomejs.biome", - "[markdown]": { - "editor.formatOnSave": false - }, - "tailwindCSS.experimental.classRegex": [ - ["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"], - ["cn\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"] + + // Silent the stylistic rules in you IDE, but still auto fix them + "eslint.rules.customizations": [ + { "rule": "style/*", "severity": "off", "fixable": true }, + { "rule": "format/*", "severity": "off", "fixable": true }, + { "rule": "*-indent", "severity": "off", "fixable": true }, + { "rule": "*-spacing", "severity": "off", "fixable": true }, + { "rule": "*-spaces", "severity": "off", "fixable": true }, + { "rule": "*-order", "severity": "off", "fixable": true }, + { "rule": "*-dangle", "severity": "off", "fixable": true }, + { "rule": "*-newline", "severity": "off", "fixable": true }, + { "rule": "*quotes", "severity": "off", "fixable": true }, + { "rule": "*semi", "severity": "off", "fixable": true } ], - "[tailwindcss]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "[typescriptreact]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[javascript]": { - "editor.defaultFormatter": "biomejs.biome" - }, - "[typescript]": { - "editor.defaultFormatter": "biomejs.biome" - } + + // Enable eslint for all supported languages + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue", + "html", + "markdown", + "json", + "jsonc", + "yaml", + "toml", + "xml", + "gql", + "graphql", + "astro", + "svelte", + "css", + "less", + "scss", + "pcss", + "postcss" + ] } diff --git a/biome.json b/biome.json deleted file mode 100644 index c51d9de45..000000000 --- a/biome.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "$schema": "https://biomejs.dev/schemas/1.7.3/schema.json", - "formatter": { - "enabled": true, - "formatWithErrors": false, - "indentStyle": "space", - "indentWidth": 2, - "lineEnding": "lf", - "lineWidth": 120, - "attributePosition": "auto", - "ignore": ["**/lib"] - }, - "organizeImports": { "enabled": true }, - "linter": { - "enabled": true, - "rules": { - "recommended": false, - "complexity": { - "noBannedTypes": "error", - "noUselessTypeConstraint": "error", - "noForEach": "off" - }, - "correctness": { "noPrecisionLoss": "error", "noUnusedVariables": "off" }, - "style": { "noNamespace": "error", "useAsConstAssertion": "error" }, - "nursery": { - "useSortedClasses": "error" - }, - "suspicious": { - "noExtraNonNullAssertion": "error", - "noMisleadingInstantiator": "error", - "noUnsafeDeclarationMerging": "error", - "noExplicitAny": "off", - "noArrayIndexKey": "off" - } - }, - "ignore": [ - "**/__fixtures__", - "**/__mocks__", - "**/dist", - "**/node_modules", - "**/.yarn", - "**/.history", - "**/build", - "**/coverage", - "**/jest.config.js", - "**/jest.transform.js", - "**/docusaurus.config.ts", - "**/sidebars.js", - "**/*.md", - "**/lib" - ] - }, - "javascript": { - "formatter": { - "jsxQuoteStyle": "double", - "quoteProperties": "asNeeded", - "semicolons": "asNeeded", - "arrowParentheses": "asNeeded", - "bracketSpacing": true, - "bracketSameLine": false, - "quoteStyle": "single", - "attributePosition": "auto" - } - }, - "overrides": [ - { - "include": ["*.ts", "*.tsx", "*.mts", "*.cts"], - "linter": { - "rules": { - "correctness": { - "noConstAssign": "off", - "noGlobalObjectCalls": "off", - "noInvalidConstructorSuper": "off", - "noNewSymbol": "off", - "noSetterReturn": "off", - "noUndeclaredVariables": "off", - "noUnreachable": "off", - "noUnreachableSuper": "off" - }, - "style": { - "noArguments": "error", - "noVar": "error", - "useConst": "error" - }, - "suspicious": { - "noDuplicateClassMembers": "off", - "noDuplicateObjectKeys": "off", - "noDuplicateParameters": "off", - "noFunctionAssign": "off", - "noImportAssign": "off", - "noRedeclare": "off", - "noUnsafeNegation": "off", - "useGetterReturn": "off" - } - } - } - } - ] -} diff --git a/data/features.tsx b/data/features.tsx index 5bc20f8f0..5fc7f84a5 100644 --- a/data/features.tsx +++ b/data/features.tsx @@ -22,8 +22,8 @@ const FEATURES: FeatureItem[] = [ 作为一名 TypeScript 全栈工程师,秉着能用 TS 绝不用 JS 的原则,为项目提供类型安全的保障,提高代码质量和开发效率。 ), - header: , - icon: , + header: , + icon: , }, { title: translate({ @@ -35,7 +35,7 @@ const FEATURES: FeatureItem[] = [ 作为一名曾学习与实践逆向工程两年半的开发者,对于逆向工程有着浓厚的兴趣,同时造就了超凡的阅读代码能力。没有看不懂的代码,只有不想看的代码。 ), - header: , + header: , }, { title: translate({ @@ -47,7 +47,7 @@ const FEATURES: FeatureItem[] = [ 作为一名开源爱好者,积极参与开源社区,为开源项目贡献代码,希望有生之年能够构建出一个知名的开源项目。 ), - header: , + header: , }, ] diff --git a/data/resources.tsx b/data/resources.tsx index fc4ca8a3b..f80a6e04e 100644 --- a/data/resources.tsx +++ b/data/resources.tsx @@ -13,7 +13,7 @@ export interface ResourceCategory { resources: Resource[] } -const friends: Resource[] = Friends.map(f => { +const friends: Resource[] = Friends.map((f) => { return { ...f, name: f.title, diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000..7fe6088b9 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,29 @@ +import stylistic from '@stylistic/eslint-plugin' +import reactPlugin from 'eslint-plugin-react' +import tailwind from 'eslint-plugin-tailwindcss' +import ts from 'typescript-eslint' + +export default [ + { + ignores: ['.docusaurus', 'build'], + }, + stylistic.configs['recommended-flat'], + ...ts.configs.recommended, + ...tailwind.configs['flat/recommended'], + { + files: ['**/*.ts', '**/*.tsx'], + plugins: { + react: reactPlugin, + }, + rules: { + ...reactPlugin.configs['jsx-runtime'].rules, + + '@typescript-eslint/no-unused-vars': 'off', + '@typescript-eslint/no-require-imports': 'off', + '@typescript-eslint/no-empty-object-type': 'off', + '@typescript-eslint/no-explicit-any': 'off', + + 'tailwindcss/no-custom-classname': 'off', + }, + }, +] diff --git a/package.json b/package.json index 707eb3411..324a3a3fa 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,8 @@ "deploy": "docusaurus deploy", "clear": "docusaurus clear && rimraf changelog", "serve": "docusaurus serve", - "format": "biome format --write ./src", - "lint": "biome check ./src", - "lint:fix": "biome check --write --unsafe ./src", + "lint": "eslint .", + "lint:fix": "eslint . --fix", "write-translations": "docusaurus write-translations", "write-heading-ids": "docusaurus write-heading-ids", "index": "docker run -it --env-file=.env -e \"CONFIG=$(cat docsearch.json | jq -r tostring)\" algolia/docsearch-scraper" @@ -58,12 +57,16 @@ "tailwindcss": "^3.4.17" }, "devDependencies": { - "@biomejs/biome": "1.9.4", "@docusaurus/module-type-aliases": "3.7.0", "@docusaurus/tsconfig": "^3.7.0", "@docusaurus/types": "3.7.0", "@iconify/react": "^5.2.0", + "@stylistic/eslint-plugin": "2.13.0", "@tailwindcss/typography": "^0.5.16", + "@typescript-eslint/eslint-plugin": "8.20.0", + "eslint": "9.18.0", + "eslint-plugin-tailwindcss": "3.18.0", + "eslint-plugin-turbo": "2.3.3", "typescript": "~5.7.3" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e18bdcf0f..f9b7636c8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,22 +10,22 @@ importers: dependencies: '@docusaurus/core': specifier: 3.7.0 - version: 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + version: 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/plugin-ideal-image': specifier: 3.7.0 - version: 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + version: 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/plugin-pwa': specifier: 3.7.0 - version: 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + version: 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/plugin-vercel-analytics': specifier: ^3.7.0 - version: 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + version: 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/preset-classic': specifier: 3.7.0 - version: 3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(@types/react@18.2.21)(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.8.2)(typescript@5.7.3) + version: 3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(@types/react@18.2.21)(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.8.2)(typescript@5.7.3) '@docusaurus/theme-search-algolia': specifier: 3.7.0 - version: 3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(@types/react@18.2.21)(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.8.2)(typescript@5.7.3) + version: 3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(@types/react@18.2.21)(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.8.2)(typescript@5.7.3) '@giscus/react': specifier: ^3.1.0 version: 3.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -46,7 +46,7 @@ importers: version: 0.0.0-beta.4 docusaurus-plugin-image-zoom: specifier: ^2.0.0 - version: 2.0.0(@docusaurus/theme-classic@3.7.0(@types/react@18.2.21)(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)) + version: 2.0.0(@docusaurus/theme-classic@3.7.0(@types/react@18.2.21)(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)) mini-svg-data-uri: specifier: ^1.4.4 version: 1.4.4 @@ -90,9 +90,6 @@ importers: specifier: ^3.4.17 version: 3.4.17 devDependencies: - '@biomejs/biome': - specifier: 1.9.4 - version: 1.9.4 '@docusaurus/module-type-aliases': specifier: 3.7.0 version: 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -105,9 +102,24 @@ importers: '@iconify/react': specifier: ^5.2.0 version: 5.2.0(react@19.0.0) + '@stylistic/eslint-plugin': + specifier: 2.13.0 + version: 2.13.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3) '@tailwindcss/typography': specifier: ^0.5.16 version: 0.5.16(tailwindcss@3.4.17) + '@typescript-eslint/eslint-plugin': + specifier: 8.20.0 + version: 8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3) + eslint: + specifier: 9.18.0 + version: 9.18.0(jiti@1.21.7) + eslint-plugin-tailwindcss: + specifier: 3.18.0 + version: 3.18.0(tailwindcss@3.4.17) + eslint-plugin-turbo: + specifier: 2.3.3 + version: 2.3.3(eslint@9.18.0(jiti@1.21.7)) typescript: specifier: ~5.7.3 version: 5.7.3 @@ -775,59 +787,6 @@ packages: resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} - '@biomejs/biome@1.9.4': - resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==} - engines: {node: '>=14.21.3'} - hasBin: true - - '@biomejs/cli-darwin-arm64@1.9.4': - resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [darwin] - - '@biomejs/cli-darwin-x64@1.9.4': - resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [darwin] - - '@biomejs/cli-linux-arm64-musl@1.9.4': - resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - - '@biomejs/cli-linux-arm64@1.9.4': - resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] - - '@biomejs/cli-linux-x64-musl@1.9.4': - resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] - - '@biomejs/cli-linux-x64@1.9.4': - resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [linux] - - '@biomejs/cli-win32-arm64@1.9.4': - resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==} - engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [win32] - - '@biomejs/cli-win32-x64@1.9.4': - resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==} - engines: {node: '>=14.21.3'} - cpu: [x64] - os: [win32] - '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -1331,17 +1290,33 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.8.0': - resolution: {integrity: sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.19.1': + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/core@0.10.0': + resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + 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.18.0': + resolution: {integrity: sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.5': + resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@giscus/react@3.1.0': resolution: {integrity: sha512-0TCO2TvL43+oOdyVVGHDItwxD1UMKP2ZYpT6gXmhFOqfAJtZxTzJ9hkn34iAF/b6YzyJ4Um89QIt9z/ajmAEeg==} @@ -1355,18 +1330,25 @@ packages: '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - 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'} '@iconify/react@5.2.0': resolution: {integrity: sha512-7Sdjrqq3fkkQNks9SY3adGC37NQTHsBJL2PRKlQd455PoDi9s+Es9AUTY+vGLFOYs5yO9w9yCE42pmxCwG26WA==} @@ -1543,6 +1525,12 @@ packages: '@slorber/remark-comment@1.0.0': resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} + '@stylistic/eslint-plugin@2.13.0': + resolution: {integrity: sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.40.0' + '@surma/rollup-plugin-off-main-thread@2.2.3': resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} @@ -1712,6 +1700,9 @@ packages: '@types/json-schema@7.0.12': resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/mdast@4.0.2': resolution: {integrity: sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw==} @@ -1802,6 +1793,53 @@ packages: '@types/yargs@17.0.24': resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + '@typescript-eslint/eslint-plugin@8.20.0': + resolution: {integrity: sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/parser@8.20.0': + resolution: {integrity: sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/scope-manager@8.20.0': + resolution: {integrity: sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.20.0': + resolution: {integrity: sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/types@8.20.0': + resolution: {integrity: sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.20.0': + resolution: {integrity: sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/utils@8.20.0': + resolution: {integrity: sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + + '@typescript-eslint/visitor-keys@8.20.0': + resolution: {integrity: sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -2395,6 +2433,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'} @@ -2628,10 +2670,6 @@ packages: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - docusaurus-plugin-baidu-tongji@0.0.0-beta.4: resolution: {integrity: sha512-LePs8OLhaeHJBeZlZDDgWDbsHKERQAt7F0ELZ77X8tG3xCOkSLmNq+KTsQ+QhpsLp8xtRtyOqGtYiEaQPFMdBw==} @@ -2673,6 +2711,10 @@ packages: resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} engines: {node: '>=10'} + dotenv@16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} + duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} @@ -2768,27 +2810,46 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} + eslint-plugin-tailwindcss@3.18.0: + resolution: {integrity: sha512-PQDU4ZMzFH0eb2DrfHPpbgo87Zgg2EXSMOj1NSfzdZm+aJzpuwGerfowMIaVehSREEa0idbf/eoNYAOHSJoDAQ==} + engines: {node: '>=18.12.0'} + peerDependencies: + tailwindcss: ^3.4.0 + + eslint-plugin-turbo@2.3.3: + resolution: {integrity: sha512-j8UEA0Z+NNCsjZep9G5u5soDQHcXq/x4amrwulk6eHF1U91H2qAjp5I4jQcvJewmccCJbVp734PkHHTRnosjpg==} + peerDependencies: + eslint: '>6.6.0' + eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - eslint-scope@7.2.2: - 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} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - 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.18.0: + resolution: {integrity: sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -2884,10 +2945,6 @@ packages: fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} - fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} @@ -2916,9 +2973,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-loader@6.2.0: resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} @@ -2961,9 +3018,9 @@ packages: resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - 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@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} @@ -3137,9 +3194,9 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.21.0: - resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} @@ -3350,6 +3407,10 @@ packages: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + image-size@1.0.2: resolution: {integrity: sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==} engines: {node: '>=14.0.0'} @@ -3701,6 +3762,9 @@ packages: keyv@4.5.3: resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -4419,6 +4483,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -5298,6 +5366,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -5673,6 +5746,12 @@ packages: trough@2.1.0: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} + ts-api-utils@2.0.0: + resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -5690,10 +5769,6 @@ packages: resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} engines: {node: '>=10'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -6092,8 +6167,7 @@ packages: snapshots: - '@aashutoshrathi/word-wrap@1.2.6': - optional: true + '@aashutoshrathi/word-wrap@1.2.6': {} '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.8.2)': dependencies: @@ -6973,41 +7047,6 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@biomejs/biome@1.9.4': - optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.9.4 - '@biomejs/cli-darwin-x64': 1.9.4 - '@biomejs/cli-linux-arm64': 1.9.4 - '@biomejs/cli-linux-arm64-musl': 1.9.4 - '@biomejs/cli-linux-x64': 1.9.4 - '@biomejs/cli-linux-x64-musl': 1.9.4 - '@biomejs/cli-win32-arm64': 1.9.4 - '@biomejs/cli-win32-x64': 1.9.4 - - '@biomejs/cli-darwin-arm64@1.9.4': - optional: true - - '@biomejs/cli-darwin-x64@1.9.4': - optional: true - - '@biomejs/cli-linux-arm64-musl@1.9.4': - optional: true - - '@biomejs/cli-linux-arm64@1.9.4': - optional: true - - '@biomejs/cli-linux-x64-musl@1.9.4': - optional: true - - '@biomejs/cli-linux-x64@1.9.4': - optional: true - - '@biomejs/cli-win32-arm64@1.9.4': - optional: true - - '@biomejs/cli-win32-x64@1.9.4': - optional: true - '@colors/colors@1.5.0': optional: true @@ -7309,7 +7348,7 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/bundler@3.7.0(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/bundler@3.7.0(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: '@babel/core': 7.26.0 '@docusaurus/babel': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7330,7 +7369,7 @@ snapshots: postcss: 8.5.1 postcss-loader: 7.3.3(postcss@8.5.1)(typescript@5.7.3)(webpack@5.96.1) postcss-preset-env: 10.1.3(postcss@8.5.1) - react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@5.7.3)(webpack@5.96.1) + react-dev-utils: 12.0.1(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)(webpack@5.96.1) terser-webpack-plugin: 5.3.10(webpack@5.96.1) tslib: 2.6.2 url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1) @@ -7352,10 +7391,10 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/core@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/core@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: '@docusaurus/babel': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@docusaurus/bundler': 3.7.0(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/bundler': 3.7.0(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/logger': 3.7.0 '@docusaurus/mdx-loader': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7382,7 +7421,7 @@ snapshots: p-map: 4.0.0 prompts: 2.4.2 react: 19.0.0 - react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@5.7.3)(webpack@5.96.1) + react-dev-utils: 12.0.1(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)(webpack@5.96.1) react-dom: 19.0.0(react@19.0.0) react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)' react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.0.0)' @@ -7493,13 +7532,13 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-content-blog@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/logger': 3.7.0 '@docusaurus/mdx-loader': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils-common': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7536,13 +7575,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/logger': 3.7.0 '@docusaurus/mdx-loader': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/module-type-aliases': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils-common': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7577,9 +7616,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-content-pages@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/mdx-loader': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7609,9 +7648,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-debug@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) fs-extra: 11.2.0 @@ -7639,9 +7678,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-google-analytics@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils-validation': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 @@ -7667,9 +7706,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-google-gtag@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils-validation': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@types/gtag.js': 0.0.12 @@ -7696,9 +7735,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-google-tag-manager@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils-validation': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 @@ -7724,9 +7763,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-ideal-image@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-ideal-image@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/lqip-loader': 3.7.0(webpack@5.96.1) '@docusaurus/responsive-loader': 1.7.0(sharp@0.32.6) '@docusaurus/theme-translations': 3.7.0 @@ -7759,14 +7798,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-pwa@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-pwa@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: '@babel/core': 7.26.0 '@babel/preset-env': 7.26.0(@babel/core@7.26.0) - '@docusaurus/bundler': 3.7.0(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/bundler': 3.7.0(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/logger': 3.7.0 - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/theme-translations': 3.7.0 '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7804,9 +7843,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-sitemap@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/logger': 3.7.0 '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7837,9 +7876,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-svgr@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-svgr@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils-validation': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7869,9 +7908,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-vercel-analytics@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/plugin-vercel-analytics@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/logger': 3.7.0 '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -7901,21 +7940,21 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(@types/react@18.2.21)(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.8.2)(typescript@5.7.3)': - dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/plugin-debug': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/plugin-google-analytics': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/plugin-google-gtag': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/plugin-google-tag-manager': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/plugin-sitemap': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/plugin-svgr': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/theme-classic': 3.7.0(@types/react@18.2.21)(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@docusaurus/theme-search-algolia': 3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(@types/react@18.2.21)(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.8.2)(typescript@5.7.3) + '@docusaurus/preset-classic@3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(@types/react@18.2.21)(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.8.2)(typescript@5.7.3)': + dependencies: + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-debug': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-google-analytics': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-google-gtag': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-google-tag-manager': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-sitemap': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-svgr': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/theme-classic': 3.7.0(@types/react@18.2.21)(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@docusaurus/theme-search-algolia': 3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(@types/react@18.2.21)(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.8.2)(typescript@5.7.3) '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -7953,16 +7992,16 @@ snapshots: optionalDependencies: sharp: 0.32.6 - '@docusaurus/theme-classic@3.7.0(@types/react@18.2.21)(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': + '@docusaurus/theme-classic@3.7.0(@types/react@18.2.21)(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/logger': 3.7.0 '@docusaurus/mdx-loader': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/module-type-aliases': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/theme-translations': 3.7.0 '@docusaurus/types': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -8003,11 +8042,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@docusaurus/theme-common@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@docusaurus/mdx-loader': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/module-type-aliases': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils-common': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@types/history': 4.7.11 @@ -8027,13 +8066,13 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/theme-search-algolia@3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(@types/react@18.2.21)(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.8.2)(typescript@5.7.3)': + '@docusaurus/theme-search-algolia@3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(@types/react@18.2.21)(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.8.2)(typescript@5.7.3)': dependencies: '@docsearch/react': 3.8.2(@algolia/client-search@5.19.0)(@types/react@18.2.21)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(search-insights@2.8.2) - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) '@docusaurus/logger': 3.7.0 - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.0(@types/react@18.2.21)(react@19.0.0))(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/theme-translations': 3.7.0 '@docusaurus/utils': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@docusaurus/utils-validation': 3.7.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -8168,32 +8207,47 @@ snapshots: '@emotion/memoize@0.7.4': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.18.0(jiti@1.21.7))': dependencies: - eslint: 8.57.0 + eslint: 9.18.0(jiti@1.21.7) eslint-visitor-keys: 3.4.3 - optional: true - '@eslint-community/regexpp@4.8.0': - optional: true + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.19.1': + dependencies: + '@eslint/object-schema': 2.1.5 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color - '@eslint/eslintrc@2.1.4': + '@eslint/core@0.10.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.6.1 - globals: 13.21.0 - ignore: 5.2.4 + espree: 10.3.0 + globals: 14.0.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 - optional: true - '@eslint/js@8.57.0': - optional: true + '@eslint/js@9.18.0': {} + + '@eslint/object-schema@2.1.5': {} + + '@eslint/plugin-kit@0.2.5': + dependencies: + '@eslint/core': 0.10.0 + levn: 0.4.1 '@giscus/react@3.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: @@ -8207,20 +8261,18 @@ snapshots: dependencies: '@hapi/hoek': 9.3.0 - '@humanwhocodes/config-array@0.11.14': + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - optional: true + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 - '@humanwhocodes/module-importer@1.0.1': - optional: true + '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': - optional: true + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.1': {} '@iconify/react@5.2.0(react@19.0.0)': dependencies: @@ -8426,6 +8478,18 @@ snapshots: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 + '@stylistic/eslint-plugin@2.13.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)': + dependencies: + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3) + eslint: 9.18.0(jiti@1.21.7) + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + estraverse: 5.3.0 + picomatch: 4.0.2 + transitivePeerDependencies: + - supports-color + - typescript + '@surma/rollup-plugin-off-main-thread@2.2.3': dependencies: ejs: 3.1.9 @@ -8632,6 +8696,8 @@ snapshots: '@types/json-schema@7.0.12': {} + '@types/json-schema@7.0.15': {} + '@types/mdast@4.0.2': dependencies: '@types/unist': 3.0.1 @@ -8728,6 +8794,83 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.0 + '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3))(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/type-utils': 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.20.0 + eslint: 9.18.0(jiti@1.21.7) + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.20.0 + debug: 4.3.4 + eslint: 9.18.0(jiti@1.21.7) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.20.0': + dependencies: + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 + + '@typescript-eslint/type-utils@8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3) + debug: 4.3.4 + eslint: 9.18.0(jiti@1.21.7) + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.20.0': {} + + '@typescript-eslint/typescript-estree@8.20.0(typescript@5.7.3)': + dependencies: + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 + debug: 4.3.4 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.3 + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.20.0(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0(jiti@1.21.7)) + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) + eslint: 9.18.0(jiti@1.21.7) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.20.0': + dependencies: + '@typescript-eslint/types': 8.20.0 + eslint-visitor-keys: 4.2.0 + '@ungap/structured-clone@1.2.0': {} '@vercel/analytics@1.2.2(react@19.0.0)': @@ -9338,7 +9481,7 @@ snapshots: copy-webpack-plugin@11.0.0(webpack@5.96.1): dependencies: - fast-glob: 3.3.1 + fast-glob: 3.3.3 glob-parent: 6.0.2 globby: 13.2.2 normalize-path: 3.0.0 @@ -9379,6 +9522,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: {} crypto-random-string@4.0.0: @@ -9544,8 +9693,7 @@ snapshots: deep-extend@0.6.0: {} - deep-is@0.1.4: - optional: true + deep-is@0.1.4: {} deepmerge@4.3.1: {} @@ -9617,16 +9765,11 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.4 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - optional: true - docusaurus-plugin-baidu-tongji@0.0.0-beta.4: {} - docusaurus-plugin-image-zoom@2.0.0(@docusaurus/theme-classic@3.7.0(@types/react@18.2.21)(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)): + docusaurus-plugin-image-zoom@2.0.0(@docusaurus/theme-classic@3.7.0(@types/react@18.2.21)(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3)): dependencies: - '@docusaurus/theme-classic': 3.7.0(@types/react@18.2.21)(eslint@8.57.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + '@docusaurus/theme-classic': 3.7.0(@types/react@18.2.21)(eslint@9.18.0(jiti@1.21.7))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) medium-zoom: 1.0.8 validate-peer-dependencies: 2.2.0 @@ -9677,6 +9820,8 @@ snapshots: dependencies: is-obj: 2.0.0 + dotenv@16.0.3: {} + duplexer@0.1.2: {} eastasianwidth@0.2.0: {} @@ -9788,77 +9933,83 @@ snapshots: escape-string-regexp@5.0.0: {} + eslint-plugin-tailwindcss@3.18.0(tailwindcss@3.4.17): + dependencies: + fast-glob: 3.3.3 + postcss: 8.5.1 + tailwindcss: 3.4.17 + + eslint-plugin-turbo@2.3.3(eslint@9.18.0(jiti@1.21.7)): + dependencies: + dotenv: 16.0.3 + eslint: 9.18.0(jiti@1.21.7) + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@7.2.2: + eslint-scope@8.2.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - optional: true - eslint-visitor-keys@3.4.3: - optional: true + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.0: {} - eslint@8.57.0: + eslint@9.18.0(jiti@1.21.7): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.8.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0(jiti@1.21.7)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.10.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.18.0 + '@eslint/plugin-kit': 0.2.5 + '@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.4 - 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.5.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.21.0 - graphemer: 1.4.0 - ignore: 5.2.4 + 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.7 transitivePeerDependencies: - supports-color - optional: true - espree@9.6.1: + espree@10.3.0: dependencies: acorn: 8.14.0 acorn-jsx: 5.3.2(acorn@8.14.0) - eslint-visitor-keys: 3.4.3 - optional: true + eslint-visitor-keys: 4.2.0 esprima@4.0.1: {} esquery@1.5.0: dependencies: estraverse: 5.3.0 - optional: true esrecurse@4.3.0: dependencies: @@ -9978,14 +10129,6 @@ snapshots: fast-fifo@1.3.2: {} - fast-glob@3.3.1: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -9996,8 +10139,7 @@ snapshots: fast-json-stable-stringify@2.1.0: {} - fast-levenshtein@2.0.6: - optional: true + fast-levenshtein@2.0.6: {} fastq@1.15.0: dependencies: @@ -10019,10 +10161,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 - optional: true + flat-cache: 4.0.1 file-loader@6.2.0(webpack@5.96.1): dependencies: @@ -10075,17 +10216,14 @@ snapshots: locate-path: 7.2.0 path-exists: 5.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.2.9 - keyv: 4.5.3 - rimraf: 3.0.2 - optional: true + keyv: 4.5.4 flat@5.0.2: {} - flatted@3.2.9: - optional: true + flatted@3.2.9: {} follow-redirects@1.15.2: {} @@ -10098,7 +10236,7 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.0)(typescript@5.7.3)(webpack@5.96.1): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)(webpack@5.96.1): dependencies: '@babel/code-frame': 7.26.2 '@types/json-schema': 7.0.12 @@ -10116,7 +10254,7 @@ snapshots: typescript: 5.7.3 webpack: 5.96.1 optionalDependencies: - eslint: 8.57.0 + eslint: 9.18.0(jiti@1.21.7) form-data-encoder@2.1.4: {} @@ -10244,10 +10382,7 @@ snapshots: globals@11.12.0: {} - globals@13.21.0: - dependencies: - type-fest: 0.20.2 - optional: true + globals@14.0.0: {} globalthis@1.0.3: dependencies: @@ -10257,7 +10392,7 @@ snapshots: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 + fast-glob: 3.3.3 ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 @@ -10265,8 +10400,8 @@ snapshots: globby@13.2.2: dependencies: dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.2.4 + fast-glob: 3.3.3 + ignore: 5.3.2 merge2: 1.4.1 slash: 4.0.0 @@ -10292,8 +10427,7 @@ snapshots: graceful-fs@4.2.11: {} - graphemer@1.4.0: - optional: true + graphemer@1.4.0: {} gray-matter@4.0.3: dependencies: @@ -10556,6 +10690,8 @@ snapshots: ignore@5.2.4: {} + ignore@5.3.2: {} + image-size@1.0.2: dependencies: queue: 6.0.2 @@ -10838,8 +10974,7 @@ snapshots: json-schema@0.4.0: {} - json-stable-stringify-without-jsonify@1.0.1: - optional: true + json-stable-stringify-without-jsonify@1.0.1: {} json5@2.2.3: {} @@ -10855,6 +10990,10 @@ snapshots: dependencies: json-buffer: 3.0.1 + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + kind-of@6.0.3: {} kleur@3.0.3: {} @@ -10874,7 +11013,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - optional: true lilconfig@3.1.1: {} @@ -11575,8 +11713,7 @@ snapshots: napi-build-utils@1.0.2: {} - natural-compare@1.4.0: - optional: true + natural-compare@1.4.0: {} negotiator@0.6.3: {} @@ -11677,7 +11814,6 @@ snapshots: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - optional: true ora@8.1.1: dependencies: @@ -11825,6 +11961,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.2: {} + pify@2.3.0: {} pirates@4.0.6: {} @@ -12319,8 +12457,7 @@ snapshots: tar-fs: 2.1.1 tunnel-agent: 0.6.0 - prelude-ls@1.2.1: - optional: true + prelude-ls@1.2.1: {} pretty-bytes@5.6.0: {} @@ -12419,7 +12556,7 @@ snapshots: date-fns: 4.1.0 react: 19.0.0 - react-dev-utils@12.0.1(eslint@8.57.0)(typescript@5.7.3)(webpack@5.96.1): + react-dev-utils@12.0.1(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)(webpack@5.96.1): dependencies: '@babel/code-frame': 7.26.2 address: 1.2.2 @@ -12430,7 +12567,7 @@ snapshots: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.7.3)(webpack@5.96.1) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.18.0(jiti@1.21.7))(typescript@5.7.3)(webpack@5.96.1) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -12841,6 +12978,8 @@ snapshots: dependencies: lru-cache: 6.0.0 + semver@7.6.3: {} + send@0.18.0: dependencies: debug: 2.6.9 @@ -13301,6 +13440,10 @@ snapshots: trough@2.1.0: {} + ts-api-utils@2.0.0(typescript@5.7.3): + dependencies: + typescript: 5.7.3 + ts-interface-checker@0.1.13: {} tslib@2.6.2: {} @@ -13312,13 +13455,9 @@ snapshots: type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - optional: true type-fest@0.16.0: {} - type-fest@0.20.2: - optional: true - type-fest@0.21.3: {} type-fest@1.4.0: {} diff --git a/src/components/Tooltip/index.tsx b/src/components/Tooltip/index.tsx index 6985e0299..0e3566ed6 100644 --- a/src/components/Tooltip/index.tsx +++ b/src/components/Tooltip/index.tsx @@ -41,10 +41,12 @@ export default function Tooltip({ children, id, anchorEl, text, delay }: Props): if (anchorEl) { if (typeof anchorEl === 'string') { setContainer(document.querySelector(anchorEl)) - } else { + } + else { setContainer(anchorEl) } - } else { + } + else { setContainer(document.body) } }, [anchorEl]) @@ -74,22 +76,22 @@ export default function Tooltip({ children, id, anchorEl, text, delay }: Props): } if (referenceElement) { - showEvents.forEach(event => { + showEvents.forEach((event) => { referenceElement.addEventListener(event, handleOpen) }) - hideEvents.forEach(event => { + hideEvents.forEach((event) => { referenceElement.addEventListener(event, handleClose) }) } return () => { if (referenceElement) { - showEvents.forEach(event => { + showEvents.forEach((event) => { referenceElement.removeEventListener(event, handleOpen) }) - hideEvents.forEach(event => { + hideEvents.forEach((event) => { referenceElement.removeEventListener(event, handleClose) }) } @@ -99,7 +101,7 @@ export default function Tooltip({ children, id, anchorEl, text, delay }: Props): return ( <> {React.cloneElement(children, { - ref: setReferenceElement, + 'ref': setReferenceElement, 'aria-describedby': open ? tooltipId : undefined, })} {container diff --git a/src/components/landing/BlogSection/index.tsx b/src/components/landing/BlogSection/index.tsx index c5ec89807..53fff978f 100644 --- a/src/components/landing/BlogSection/index.tsx +++ b/src/components/landing/BlogSection/index.tsx @@ -30,10 +30,10 @@ export function BlogItem({ post }: { post: BlogPost }) { > {frontMatter.image && ( - {title} + {title} )} -
+

{title} @@ -66,7 +66,7 @@ export default function BlogSection(): JSX.Element { } return ( -
近期博客} icon="ri:quill-pen-line" href={'/blog'}> +
近期博客} icon="ri:quill-pen-line" href="/blog">
{posts.map((postGroup, index) => (
diff --git a/src/components/landing/FeaturesSection/index.tsx b/src/components/landing/FeaturesSection/index.tsx index 1167d3e82..e721e16d8 100644 --- a/src/components/landing/FeaturesSection/index.tsx +++ b/src/components/landing/FeaturesSection/index.tsx @@ -6,7 +6,7 @@ import { Section } from '../Section' export default function FeaturesSection() { return ( -
个人特点} icon={'ri:map-pin-user-line'}> +
个人特点} icon="ri:map-pin-user-line"> {features.map((item, i) => ( { + onMouseMove={(e) => { e.currentTarget.style.setProperty('--x', `${e.clientX}px`) e.currentTarget.style.setProperty('--y', `${e.clientY}px`) }} @@ -43,7 +43,7 @@ function Name() { 你好! 我是 { + onMouseMove={(e) => { const bounding = e.currentTarget.getBoundingClientRect() e.currentTarget.style.setProperty('--mouse-x', `${bounding.x}px`) e.currentTarget.style.setProperty('--mouse-y', `${bounding.y}px`) @@ -73,9 +73,9 @@ export default function Hero() { - + 自我介绍 diff --git a/src/components/landing/ProjectSection/index.tsx b/src/components/landing/ProjectSection/index.tsx index f466df309..027d32e3c 100644 --- a/src/components/landing/ProjectSection/index.tsx +++ b/src/components/landing/ProjectSection/index.tsx @@ -23,10 +23,10 @@ const Slider = ({ items }: { items: Project[] }) => { loading="lazy" />
-

+

{item.title}

-

+

{removeHttp(item.website)}

@@ -44,8 +44,8 @@ export default function ProjectSection() { return (
项目展示} - icon={'ri:projector-line'} - href={'/project'} + icon="ri:projector-line" + href="/project" >
diff --git a/src/components/landing/Section/index.tsx b/src/components/landing/Section/index.tsx index eccaf4e91..c38567a25 100644 --- a/src/components/landing/Section/index.tsx +++ b/src/components/landing/Section/index.tsx @@ -13,7 +13,7 @@ interface SectionProps { export function Section({ title, icon, href, children }: SectionProps) { return (
-
+

{icon && } {title} diff --git a/src/components/magicui/bento-grid.tsx b/src/components/magicui/bento-grid.tsx index e3606789b..4ead84c80 100644 --- a/src/components/magicui/bento-grid.tsx +++ b/src/components/magicui/bento-grid.tsx @@ -36,11 +36,11 @@ export const BentoGridItem = ({ >
{header}
-
+
{icon} -
{title}
+
{title}
-
{description}
+
{description}
) diff --git a/src/components/magicui/icon-cloud.tsx b/src/components/magicui/icon-cloud.tsx index 0ecb7eaf6..7c96a6b08 100644 --- a/src/components/magicui/icon-cloud.tsx +++ b/src/components/magicui/icon-cloud.tsx @@ -44,7 +44,7 @@ export const renderCustomIcon = (icon: SimpleIcon, theme: string) => { href: undefined, target: undefined, rel: undefined, - onClick: (e: any) => e.preventDefault(), + onClick: e => e.preventDefault(), }, }) } @@ -70,7 +70,8 @@ export default function IconCloud({ iconSlugs }: DynamicCloudProps) { }, [data, theme]) return ( - // @ts-ignore + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-expect-error <>{renderedIcons} diff --git a/src/components/magicui/magic-card.tsx b/src/components/magicui/magic-card.tsx index dd2a13e48..8b40b8df5 100644 --- a/src/components/magicui/magic-card.tsx +++ b/src/components/magicui/magic-card.tsx @@ -29,19 +29,20 @@ function useMousePosition(): MousePosition { interface MagicContainerProps { children?: ReactNode - className?: any + className?: string } const MagicContainer = ({ children, className }: MagicContainerProps) => { const containerRef = useRef(null) const mousePosition = useMousePosition() - const mouse = useRef<{ x: number; y: number }>({ x: 0, y: 0 }) - const containerSize = useRef<{ w: number; h: number }>({ w: 0, h: 0 }) + const mouse = useRef<{ x: number, y: number }>({ x: 0, y: 0 }) + const containerSize = useRef<{ w: number, h: number }>({ w: 0, h: 0 }) const [boxes, setBoxes] = useState>([]) useEffect(() => { init() - containerRef.current && setBoxes(Array.from(containerRef.current.children).map(el => el as HTMLElement)) + if (containerRef.current) + setBoxes(Array.from(containerRef.current.children).map(el => el as HTMLElement)) }, []) useEffect(() => { @@ -74,7 +75,7 @@ const MagicContainer = ({ children, className }: MagicContainerProps) => { mouse.current.x = x mouse.current.y = y - boxes.forEach(box => { + boxes.forEach((box) => { const boxX = -(box.getBoundingClientRect().left - rect.left) + mouse.current.x const boxY = -(box.getBoundingClientRect().top - rect.top) + mouse.current.y box.style.setProperty('--mouse-x', `${boxX}px`) @@ -82,7 +83,8 @@ const MagicContainer = ({ children, className }: MagicContainerProps) => { if (inside) { box.style.setProperty('--opacity', `1`) - } else { + } + else { box.style.setProperty('--opacity', `0`) } }) diff --git a/src/components/magicui/moving-border.tsx b/src/components/magicui/moving-border.tsx index 3dae0d87f..48de38132 100644 --- a/src/components/magicui/moving-border.tsx +++ b/src/components/magicui/moving-border.tsx @@ -72,7 +72,7 @@ export const MovingBorder = ({ const pathRef = useRef() const progress = useMotionValue(0) - useAnimationFrame(time => { + useAnimationFrame((time) => { const length = pathRef.current?.getTotalLength() if (length) { const pxPerMillisecond = length / duration @@ -90,7 +90,7 @@ export const MovingBorder = ({ = ({ const context = useRef(null) const circles = useRef([]) const mousePosition = MousePosition() - const mouse = useRef<{ x: number; y: number }>({ x: 0, y: 0 }) - const canvasSize = useRef<{ w: number; h: number }>({ w: 0, h: 0 }) + const mouse = useRef<{ x: number, y: number }>({ x: 0, y: 0 }) + const canvasSize = useRef<{ w: number, h: number }>({ w: 0, h: 0 }) const dpr = typeof window !== 'undefined' ? window.devicePixelRatio : 1 useEffect(() => { @@ -214,7 +214,8 @@ const Particles: React.FC = ({ if (circle.alpha > circle.targetAlpha) { circle.alpha = circle.targetAlpha } - } else { + } + else { circle.alpha = circle.targetAlpha * remapClosestEdge } circle.x += circle.dx + vx @@ -226,10 +227,10 @@ const Particles: React.FC = ({ // circle gets out of the canvas if ( - circle.x < -circle.size || - circle.x > canvasSize.current.w + circle.size || - circle.y < -circle.size || - circle.y > canvasSize.current.h + circle.size + circle.x < -circle.size + || circle.x > canvasSize.current.w + circle.size + || circle.y < -circle.size + || circle.y > canvasSize.current.h + circle.size ) { // remove the circle from the array circles.current.splice(i, 1) @@ -244,7 +245,7 @@ const Particles: React.FC = ({ return ( ) } diff --git a/src/hooks/useReadPercent.ts b/src/hooks/useReadPercent.ts index c6fe12686..35ab8ef31 100644 --- a/src/hooks/useReadPercent.ts +++ b/src/hooks/useReadPercent.ts @@ -10,7 +10,7 @@ export const useReadPercent = () => { postRef.current = document.getElementById('__blog-post-container') }, []) - useMotionValueEvent(scrollYProgress, 'change', latest => { + useMotionValueEvent(scrollYProgress, 'change', (latest) => { setScrollProgress(latest) }) diff --git a/src/pages/friends/index.tsx b/src/pages/friends/index.tsx index 8fdc3cac9..1ced5e7b9 100644 --- a/src/pages/friends/index.tsx +++ b/src/pages/friends/index.tsx @@ -20,7 +20,7 @@ const friends = Friends function SiteInfo() { return ( -
+
{SITE_INFO} @@ -43,7 +43,8 @@ function FriendHeader() { const FriendCard = memo(({ friend }: { friend: Friend }) => (
  • {friend.title} ( {friend.title} @@ -67,7 +68,7 @@ const FriendCard = memo(({ friend }: { friend: Friend }) => ( function FriendCards() { return ( -
    +
      {friends.map(friend => ( diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 5e016f84e..61db6efc3 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -16,7 +16,7 @@ export default function Home() {
      - +
      @@ -25,7 +25,7 @@ export default function Home() {
      diff --git a/src/pages/project/_components/ShowcaseFilterToggle/index.tsx b/src/pages/project/_components/ShowcaseFilterToggle/index.tsx index 9f72a0c95..4f199360e 100644 --- a/src/pages/project/_components/ShowcaseFilterToggle/index.tsx +++ b/src/pages/project/_components/ShowcaseFilterToggle/index.tsx @@ -44,7 +44,7 @@ export default function ShowcaseFilterToggle(): JSX.Element { className="sr-only" aria-label="Toggle between or and and for the tags you selected" onChange={toggleOperator} - onKeyDown={e => { + onKeyDown={(e) => { if (e.key === 'Enter') { toggleOperator() } diff --git a/src/pages/project/_components/ShowcaseTagSelect/index.tsx b/src/pages/project/_components/ShowcaseTagSelect/index.tsx index ad9a86420..c21a369c9 100644 --- a/src/pages/project/_components/ShowcaseTagSelect/index.tsx +++ b/src/pages/project/_components/ShowcaseTagSelect/index.tsx @@ -51,17 +51,17 @@ const ShowcaseTagSelect = React.forwardRef(({ id, icon, type="checkbox" id={id} className="sr-only" - onKeyDown={e => { + onKeyDown={(e) => { if (e.key === 'Enter') { toggleTag() } }} - onFocus={e => { + onFocus={(e) => { if (e.relatedTarget) { e.target.nextElementSibling?.dispatchEvent(new KeyboardEvent('focus')) } }} - onBlur={e => { + onBlur={(e) => { e.target.nextElementSibling?.dispatchEvent(new KeyboardEvent('blur')) }} onChange={toggleTag} diff --git a/src/plugin/plugin-content-blog/index.js b/src/plugin/plugin-content-blog/index.js index 84f073c35..3d5c4cc3f 100644 --- a/src/plugin/plugin-content-blog/index.js +++ b/src/plugin/plugin-content-blog/index.js @@ -1,4 +1,4 @@ -// eslint-disable-next-line @typescript-eslint/no-var-requires +// eslint-disable-next-line @typescript-eslint/no-require-imports const blogPluginExports = require('@docusaurus/plugin-content-blog') const { default: blogPlugin } = blogPluginExports diff --git a/src/theme/BlogArchivePage/index.tsx b/src/theme/BlogArchivePage/index.tsx index 147ae65cf..cbcdcdff5 100644 --- a/src/theme/BlogArchivePage/index.tsx +++ b/src/theme/BlogArchivePage/index.tsx @@ -31,7 +31,7 @@ const variants: Variants = { }), } -const formatDate = dateString => { +const formatDate = (dateString) => { const date = new Date(dateString) const month = String(date.getMonth() + 1).padStart(2, '0') const day = String(date.getDate()).padStart(2, '0') @@ -72,7 +72,10 @@ function YearsSection({ years }: { years: YearProp[] }) {

      {_props.year}

      - {(years[idx] as YearProp).posts.length} + + {(years[idx] as YearProp).posts.length} + {' '} +
      diff --git a/src/theme/BlogListPage/index.tsx b/src/theme/BlogListPage/index.tsx index 5b65f6cb5..39d703c2a 100644 --- a/src/theme/BlogListPage/index.tsx +++ b/src/theme/BlogListPage/index.tsx @@ -70,7 +70,7 @@ function BlogListPageContent(props: Props) {

      代码人生:编织技术与生活的博客之旅

      -
      +
      <> {isListView && (
      diff --git a/src/theme/BlogPostGridItems/index.tsx b/src/theme/BlogPostGridItems/index.tsx index b699e4436..e64d6714a 100644 --- a/src/theme/BlogPostGridItems/index.tsx +++ b/src/theme/BlogPostGridItems/index.tsx @@ -34,7 +34,7 @@ export default function BlogPostGridItems({ items }: BlogPostItemsProps): JSX.El {data.map((item, idx) => (
      setHoveredIndex(idx)} onMouseLeave={() => setHoveredIndex(null)} > @@ -42,7 +42,7 @@ export default function BlogPostGridItems({ items }: BlogPostItemsProps): JSX.El {hoveredIndex === idx && ( )}
      -
      {item.date}
      +
      {item.date}
      diff --git a/src/theme/BlogPostItem/Container/index.tsx b/src/theme/BlogPostItem/Container/index.tsx index 9ac105820..cc6e167d2 100644 --- a/src/theme/BlogPostItem/Container/index.tsx +++ b/src/theme/BlogPostItem/Container/index.tsx @@ -17,9 +17,9 @@ export default function BlogPostItemContainer({ children, className }: Props): J {image && ( <> -
      +
      {readingTimePlural(readingTime)} } -function DateTime({ date, formattedDate }: { date: string; formattedDate: string }) { +function DateTime({ date, formattedDate }: { date: string, formattedDate: string }) { return (
      diff --git a/src/theme/BlogPostItem/Header/Title/index.tsx b/src/theme/BlogPostItem/Header/Title/index.tsx index 6b9a005a8..7242a37df 100644 --- a/src/theme/BlogPostItem/Header/Title/index.tsx +++ b/src/theme/BlogPostItem/Header/Title/index.tsx @@ -11,13 +11,15 @@ export default function BlogPostItemHeaderTitle({ className }: Props): JSX.Eleme const TitleHeading = isBlogPostPage ? 'h1' : 'h2' return ( - {isBlogPostPage ? ( - title - ) : ( - - {title} - - )} + {isBlogPostPage + ? ( + title + ) + : ( + + {title} + + )} ) } diff --git a/src/theme/BlogPostPage/index.tsx b/src/theme/BlogPostPage/index.tsx index b2bcbe1aa..177cddd73 100644 --- a/src/theme/BlogPostPage/index.tsx +++ b/src/theme/BlogPostPage/index.tsx @@ -32,9 +32,11 @@ function BlogPostPageContent({ 0 ? ( - - ) : undefined + !hideTableOfContents && toc.length > 0 + ? ( + + ) + : undefined } > {children} diff --git a/src/theme/BlogSidebar/Content/index.tsx b/src/theme/BlogSidebar/Content/index.tsx index d5295eed1..9d5269203 100644 --- a/src/theme/BlogSidebar/Content/index.tsx +++ b/src/theme/BlogSidebar/Content/index.tsx @@ -36,7 +36,8 @@ function BlogSidebarContent({ items, yearGroupHeadingClassName, ListComponent }: ))} ) - } else { + } + else { return } } diff --git a/src/theme/CodeBlock/Line/index.tsx b/src/theme/CodeBlock/Line/index.tsx index d60ceb905..d7fe7fd74 100644 --- a/src/theme/CodeBlock/Line/index.tsx +++ b/src/theme/CodeBlock/Line/index.tsx @@ -23,14 +23,16 @@ export default function CodeBlockLine({ return ( - {showLineNumbers ? ( - <> - - {lineTokens} - - ) : ( - lineTokens - )} + {showLineNumbers + ? ( + <> + + {lineTokens} + + ) + : ( + lineTokens + )}
      ) diff --git a/src/theme/Navbar/Content/index.tsx b/src/theme/Navbar/Content/index.tsx index 68b54b153..e6190c14e 100644 --- a/src/theme/Navbar/Content/index.tsx +++ b/src/theme/Navbar/Content/index.tsx @@ -27,8 +27,7 @@ function NavbarItems({ items }: { items: NavbarItemConfig[] }): JSX.Element { Please double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config: ${JSON.stringify(item, null, 2)}`, { cause: error }, - ) - } + )} > @@ -62,15 +61,15 @@ export default function NavbarContent(): JSX.Element { return ( {!mobileSidebar.disabled && } - } - right={ + )} + right={( // TODO stop hardcoding items? // Ask the user to add the respective navbar items => more flexible <> @@ -82,7 +81,7 @@ export default function NavbarContent(): JSX.Element { )} - } + )} /> ) } diff --git a/src/theme/TOC/index.tsx b/src/theme/TOC/index.tsx index 5735798f4..6260ab414 100644 --- a/src/theme/TOC/index.tsx +++ b/src/theme/TOC/index.tsx @@ -30,7 +30,10 @@ export default function TOC({ className, ...props }: Props): JSX.Element { linkActiveClassName={LINK_ACTIVE_CLASS_NAME} />
      - {`${readPercent}%`} + + {`${readPercent}%`} + {' '} + ) } diff --git a/src/theme/prism-include-languages.ts b/src/theme/prism-include-languages.ts index feeaab564..d712008ba 100644 --- a/src/theme/prism-include-languages.ts +++ b/src/theme/prism-include-languages.ts @@ -19,7 +19,7 @@ export default function prismIncludeLanguages(PrismObject: typeof PrismNamespace // long as you don't re-assign it globalThis.Prism = PrismObject - additionalLanguages.forEach(lang => { + additionalLanguages.forEach((lang) => { if (lang === 'php') { require('prismjs/components/prism-markup-templating.js') } diff --git a/tailwind.config.ts b/tailwind.config.ts index fda57f4da..ad8d50207 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -28,11 +28,11 @@ const twConfig: Config = { blog: 'var(--blog-item-shadow)', }, animation: { - marquee: 'marquee var(--duration) linear infinite', + 'marquee': 'marquee var(--duration) linear infinite', 'marquee-vertical': 'marquee-vertical var(--duration) linear infinite', }, keyframes: { - marquee: { + 'marquee': { from: { transform: 'translateX(0)' }, to: { transform: 'translateX(calc(-100% - var(--gap)))' }, }, @@ -69,7 +69,7 @@ const twConfig: Config = { export default twConfig -function addVariablesForColors({ addBase, theme }: any) { +function addVariablesForColors({ addBase, theme }) { const allColors = flattenColorPalette(theme('colors')) const newVars = Object.fromEntries(Object.entries(allColors).map(([key, val]) => [`--${key}`, val])) diff --git a/tsconfig.json b/tsconfig.json index ad7b08867..55cae7515 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,8 +24,7 @@ "noUnusedParameters": false, "importsNotUsedAsValues": "remove", "moduleResolution": "Bundler", - "skipLibCheck": false, - "types": ["jest"] + "skipLibCheck": false }, "exclude": ["src/sw.js"] }