From 04d2fc97449e8564991aeb7022fca386cdaa2757 Mon Sep 17 00:00:00 2001 From: Alexandre Philibeaux Date: Wed, 11 Dec 2024 10:55:25 +0100 Subject: [PATCH] chore(eslint): update config Signed-off-by: Alexandre Philibeaux --- .gitignore | 3 + .oxlintrc.json | 18 +- eslint.config.mjs | 4 + examples/next-advanced/next-env.d.ts | 2 +- examples/next-login/global.d.ts | 2 +- examples/next-login/next-env.d.ts | 2 +- examples/next-login/tsconfig.json | 1 + examples/next-simple/global.d.ts | 2 +- examples/next-simple/next-env.d.ts | 2 +- examples/next-simple/tsconfig.json | 1 + jest-axe.d.ts | 2 +- package.json | 6 +- .../src/components/ExpandableCard/index.tsx | 12 +- .../LineChart/__tests__/index.test.tsx | 3 +- packages/ui/src/components/Loader/index.tsx | 6 +- packages/ui/src/components/Notice/index.tsx | 9 +- .../ui/src/components/NumberInput/index.tsx | 12 +- .../ui/src/components/PasswordCheck/index.tsx | 25 +- .../Popover/__stories__/Template.stories.tsx | 4 +- .../ui/src/components/SearchInput/index.tsx | 6 +- pnpm-lock.yaml | 321 +++++++++++------- svgo.config.cjs | 1 - vite.config.ts | 7 +- 23 files changed, 264 insertions(+), 187 deletions(-) diff --git a/.gitignore b/.gitignore index e123c0b021..31dce8deab 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,6 @@ tools/*/.turbo # typescript *.tsbuildinfo .tsbuildinfo + +# next +next-env.d.ts* diff --git a/.oxlintrc.json b/.oxlintrc.json index a5fae04383..ff9bab69b7 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -32,16 +32,22 @@ { "files": ["**/__tests__/**/*.{ts,tsx}", "setup.ts"], "plugins": ["vitest"] + }, + { + "files": ["svgo.config.cjs"], + "plugins": null, + "rules": { + "import/no-commonjs": "off" + } } ], "rules": { - "@typescript/no-explicit-any": "warn", - "@typescript-eslint/no-unused-expressions": "warn", - "@typescript-eslint/ban-tslint-comment": "warn", + "@typescript-eslint/no-unused-expressions": "error", + "@typescript-eslint/ban-tslint-comment": "error", "@typescript-eslint/consistent-indexed-object-style": "error", "@typescript-eslint/consistent-type-definitions": ["error", "type"], "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/no-explicit-any": "warn", + "@typescript-eslint/no-explicit-any": "error", "@typescript-eslint/prefer-enum-initializers": "off", "@typescript-eslint/prefer-function-type": "off", "@typescript-eslint/prefer-literal-enum-member": "off", @@ -75,13 +81,13 @@ "import/namespace": "off", "import/no-default-export": "off", "import/no-duplicates": "off", - "import/unambiguous": "warn", + "import/unambiguous": "off", "react-perf/jsx-no-jsx-as-prop": "off", "react-perf/jsx-no-new-array-as-prop": "off", "react-perf/jsx-no-new-function-as-prop": "off", "react-perf/jsx-no-new-object-as-prop": "off", "react/jsx-no-useless-fragment": "off", - "react/iframe-missing-sandbox": "warn", + "react/iframe-missing-sandbox": "error", "react/jsx-no-target-blank": "off", "react/react-in-jsx-scope": "off", "unicorn/error-message": "off", diff --git a/eslint.config.mjs b/eslint.config.mjs index 59bc2c34c0..751a95ba7b 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -15,6 +15,8 @@ const disableRules = { // ---- biome rules ---- 'import/order': 'off', 'import/no-unresolved': 'off', + '@stylistic/no-extra-semi': 'off', + '@stylistic/brace-style': 'off', // to check 'react/no-unused-prop-types': 'off', @@ -36,6 +38,8 @@ export default [ '**/coverage/', '.storybook', 'eslint.config.mjs', + 'next-env.d.ts', + 'svgo.config.cjs', ], }, { diff --git a/examples/next-advanced/next-env.d.ts b/examples/next-advanced/next-env.d.ts index a4a7b3f5cf..52e831b434 100644 --- a/examples/next-advanced/next-env.d.ts +++ b/examples/next-advanced/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. +// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information. diff --git a/examples/next-login/global.d.ts b/examples/next-login/global.d.ts index a97fbda784..5774f2de0a 100644 --- a/examples/next-login/global.d.ts +++ b/examples/next-login/global.d.ts @@ -1,4 +1,4 @@ -declare module '*.svg' { +export declare module '*.svg' { const content: string export default content } diff --git a/examples/next-login/next-env.d.ts b/examples/next-login/next-env.d.ts index a4a7b3f5cf..52e831b434 100644 --- a/examples/next-login/next-env.d.ts +++ b/examples/next-login/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. +// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information. diff --git a/examples/next-login/tsconfig.json b/examples/next-login/tsconfig.json index 25352e6047..0fb2803085 100644 --- a/examples/next-login/tsconfig.json +++ b/examples/next-login/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "@scaleway/tsconfig", "compilerOptions": { + "types": ["next", "next/image-types/global"], "target": "es5", "module": "esnext", "jsx": "preserve", diff --git a/examples/next-simple/global.d.ts b/examples/next-simple/global.d.ts index a97fbda784..5774f2de0a 100644 --- a/examples/next-simple/global.d.ts +++ b/examples/next-simple/global.d.ts @@ -1,4 +1,4 @@ -declare module '*.svg' { +export declare module '*.svg' { const content: string export default content } diff --git a/examples/next-simple/next-env.d.ts b/examples/next-simple/next-env.d.ts index a4a7b3f5cf..52e831b434 100644 --- a/examples/next-simple/next-env.d.ts +++ b/examples/next-simple/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. +// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information. diff --git a/examples/next-simple/tsconfig.json b/examples/next-simple/tsconfig.json index 25352e6047..a22055fcde 100644 --- a/examples/next-simple/tsconfig.json +++ b/examples/next-simple/tsconfig.json @@ -20,5 +20,6 @@ "**/*.ts", "**/*.tsx" ], + "exclude": ["node_modules"] } diff --git a/jest-axe.d.ts b/jest-axe.d.ts index 7b5fcb7cb6..d94f2d0a36 100644 --- a/jest-axe.d.ts +++ b/jest-axe.d.ts @@ -2,7 +2,7 @@ // because `jest-axe` depends on `@types/jest`, which we don't want // because we use `@jest/globals` -declare module 'jest-axe' { +export declare module 'jest-axe' { import type { AxeResults, ImpactValue, diff --git a/package.json b/package.json index 866ee5df9b..18358ee51e 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,10 @@ "format": "biome check --linter-enabled=false --write .", "format:check": "biome check --linter-enabled=false --verbose .", "format:ci": "biome ci --linter-enabled=false .", - "lint:fix": "pnpm run lint --fix", "lint": "eslint --report-unused-disable-directives --cache .", + "lint:fix": "pnpm run lint --fix", + "oxc": "oxlint -c .oxlintrc.json", + "oxc:fix": "pnpm run oxlint --fix", "prepare": "husky", "tokens:update": "node ./scripts/figma-synchronise-tokens.mjs && pnpm run format packages/themes/src/themes/console", "icons:update": "tsx ./scripts/generate-icons-file.ts && biome format --write packages/icons", @@ -108,7 +110,7 @@ "@eslint/compat": "1.2.4", "@eslint/eslintrc": "3.2.0", "@manypkg/cli": "0.23.0", - "@scaleway/eslint-config-react": "5.2.0", + "@scaleway/eslint-config-react": "4.0.9", "@scaleway/tsconfig": "1.1.1", "@size-limit/file": "11.1.6", "@size-limit/preset-big-lib": "11.1.6", diff --git a/packages/ui/src/components/ExpandableCard/index.tsx b/packages/ui/src/components/ExpandableCard/index.tsx index bb75305a6b..888355cf95 100644 --- a/packages/ui/src/components/ExpandableCard/index.tsx +++ b/packages/ui/src/components/ExpandableCard/index.tsx @@ -1,11 +1,11 @@ import styled from '@emotion/styled' -import { Icon } from '@ultraviolet/icons/legacy' +import { ArrowDownIcon } from '@ultraviolet/icons' import type { ForwardedRef, ReactNode } from 'react' import { forwardRef, useRef } from 'react' import type { XOR } from '../../types' import { ExpandableCardTitle } from './components/Title' -const ArrowIcon = styled(Icon)`` +const StyledArrowIcon = styled(ArrowDownIcon)`` const StyledSummary = styled.summary` display: flex; @@ -39,7 +39,7 @@ const StyledDetails = styled.details` border-color: ${({ theme }) => theme.colors.primary.border}; } - ${ArrowIcon} { + ${StyledArrowIcon} { transform: rotate(180deg); } } @@ -107,11 +107,7 @@ const BaseExpandableCard = forwardRef( : undefined } > - + {typeof header === 'string' ? ( {header} diff --git a/packages/ui/src/components/LineChart/__tests__/index.test.tsx b/packages/ui/src/components/LineChart/__tests__/index.test.tsx index baf1eea966..7585be5d0f 100644 --- a/packages/ui/src/components/LineChart/__tests__/index.test.tsx +++ b/packages/ui/src/components/LineChart/__tests__/index.test.tsx @@ -76,12 +76,11 @@ describe('LineChart', () => { )) test.skip('renders correctly when chart is hovered', async () => { - const { asFragment, debug } = renderWithTheme( + const { asFragment } = renderWithTheme( , ) // eslint-disable-next-line testing-library/no-node-access const line = document.querySelector('svg[role="img"] g path') - debug() if (!line) throw new Error('LineChart line path not found') await userEvent.unhover(line) await userEvent.hover(line) diff --git a/packages/ui/src/components/Loader/index.tsx b/packages/ui/src/components/Loader/index.tsx index aa8cd2a603..8c4429b9b3 100644 --- a/packages/ui/src/components/Loader/index.tsx +++ b/packages/ui/src/components/Loader/index.tsx @@ -29,7 +29,7 @@ const StyledSvg = styled('svg', { type LoaderProps = { active?: boolean - color?: Color | string + color?: Color | (string & NonNullable) percentage?: number size?: number | string strokeWidth?: number @@ -37,7 +37,7 @@ type LoaderProps = { * Text is placed in center of ProgressCircle. */ text?: string - trailColor?: Color | string + trailColor?: Color | (string & NonNullable) /** * Label should be defined for accessibility, to indicate what is loading */ @@ -46,7 +46,7 @@ type LoaderProps = { const Text = styled('text', { shouldForwardProp: prop => !['color'].includes(prop), -})<{ color: Color | string }>` +})<{ color: Color | (string & NonNullable) }>` fill: ${({ theme, color }) => theme.colors[color as Color]?.backgroundStrong || color}; diff --git a/packages/ui/src/components/Notice/index.tsx b/packages/ui/src/components/Notice/index.tsx index 91acf82712..faf2215e0a 100644 --- a/packages/ui/src/components/Notice/index.tsx +++ b/packages/ui/src/components/Notice/index.tsx @@ -1,5 +1,5 @@ import styled from '@emotion/styled' -import { Icon } from '@ultraviolet/icons/legacy' +import { InformationOutlineIcon } from '@ultraviolet/icons' import type { ReactNode } from 'react' import { Text } from '../Text' @@ -31,12 +31,7 @@ export const Notice = ({ data-testid={dataTestId} className={className} > - + {children} ) diff --git a/packages/ui/src/components/NumberInput/index.tsx b/packages/ui/src/components/NumberInput/index.tsx index 35667f4f33..1995723c6e 100644 --- a/packages/ui/src/components/NumberInput/index.tsx +++ b/packages/ui/src/components/NumberInput/index.tsx @@ -1,5 +1,5 @@ import styled from '@emotion/styled' -import { Icon } from '@ultraviolet/icons/legacy' +import { MinusIcon, PlusIcon } from '@ultraviolet/icons' import type { ChangeEventHandler, FocusEventHandler, @@ -362,10 +362,9 @@ export const NumberInput = ({ sentiment="primary" size="small" > - @@ -414,10 +413,9 @@ export const NumberInput = ({ sentiment="primary" size="small" > - diff --git a/packages/ui/src/components/PasswordCheck/index.tsx b/packages/ui/src/components/PasswordCheck/index.tsx index 4f0f811e8c..41401b2181 100644 --- a/packages/ui/src/components/PasswordCheck/index.tsx +++ b/packages/ui/src/components/PasswordCheck/index.tsx @@ -1,5 +1,8 @@ import styled from '@emotion/styled' -import { Icon } from '@ultraviolet/icons/legacy' +import { + CheckCircleOutlineIcon, + CloseCircleOutlineIcon, +} from '@ultraviolet/icons' import { Stack } from '../Stack' import { Text } from '../Text' @@ -37,12 +40,20 @@ export const PasswordCheck = ({ {rules.map(rule => ( - + {rule.valid ? ( + + ) : ( + + )} + {rule.text} diff --git a/packages/ui/src/components/Popover/__stories__/Template.stories.tsx b/packages/ui/src/components/Popover/__stories__/Template.stories.tsx index bdad4b254a..31e2e4a768 100644 --- a/packages/ui/src/components/Popover/__stories__/Template.stories.tsx +++ b/packages/ui/src/components/Popover/__stories__/Template.stories.tsx @@ -1,5 +1,5 @@ import type { StoryFn } from '@storybook/react' -import { Icon } from '@ultraviolet/icons/legacy' +import { HelpCircleOutlineIcon } from '@ultraviolet/icons' import { Popover } from '..' export const Template: StoryFn = props => ( @@ -9,6 +9,6 @@ export const Template: StoryFn = props => ( title="Popover Title" content="This is a simple text content inside the popover. You can customize it by passing text into content property." > - + ) diff --git a/packages/ui/src/components/SearchInput/index.tsx b/packages/ui/src/components/SearchInput/index.tsx index c43f7f87b1..2de67c4fd6 100644 --- a/packages/ui/src/components/SearchInput/index.tsx +++ b/packages/ui/src/components/SearchInput/index.tsx @@ -1,5 +1,5 @@ import styled from '@emotion/styled' -import { Icon } from '@ultraviolet/icons/legacy' +import { SearchIcon } from '@ultraviolet/icons' import type { Ref } from 'react' import { forwardRef, @@ -276,9 +276,7 @@ export const SearchInput = forwardRef( > - } + prefix={} suffix={ shortcut && searchTerms.length === 0 ? ( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 376056de3d..a24c5432e6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -75,8 +75,8 @@ importers: specifier: 0.23.0 version: 0.23.0 '@scaleway/eslint-config-react': - specifier: 5.2.0 - version: 5.2.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) + specifier: 4.0.9 + version: 4.0.9(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) '@scaleway/tsconfig': specifier: 1.1.1 version: 1.1.1 @@ -2026,6 +2026,15 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint/compat@1.2.2': + resolution: {integrity: sha512-jhgiIrsw+tRfcBQ4BFl2C3vCrIUw2trCY0cnDvGZpwTtKCEDmZhAtMfrEUP/KpnwM6PrO0T+Ltm+ccW74olG3Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true + '@eslint/compat@1.2.4': resolution: {integrity: sha512-S8ZdQj/N69YAtuqFt7653jwcvuUj131+6qGLUyDqfDg1OIoBQ66OCuXC473YQfO2AaxITTutiRQiDwoo7ZLYyg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2043,6 +2052,10 @@ packages: resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + 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} @@ -2491,10 +2504,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@nolyfill/is-core-module@1.0.39': - resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} - engines: {node: '>=12.4.0'} - '@oxlint/darwin-arm64@0.15.0': resolution: {integrity: sha512-Y4yFRquejyuI/3dyBxLvc8lbwM8Hf/8e0YH9QwQPD9+dgzgOnF818/+OKVE4bDH/V7nWyw4hIQQibMcPvg038g==} cpu: [arm64] @@ -2728,10 +2737,10 @@ packages: '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@scaleway/eslint-config-react@5.2.0': - resolution: {integrity: sha512-aOFNq+5TysHoKrBXYVTB128B8rVsYNGEGEtHi14NR83IfQXOm7mCwIXWVNaG1DJ14oP8fzw0XSp+KalQvIod8g==} + '@scaleway/eslint-config-react@4.0.9': + resolution: {integrity: sha512-s89LQNOX8bTkqKdPLL1eyU63LNHHIU1LulVriXymjJ+FU4rH73GFBH4VC+5gj0Y2EItfKU/15/DGo2IdT3kvgA==} peerDependencies: - eslint: '>= 9.x' + eslint: '>= 9.7' '@scaleway/random-name@5.1.1': resolution: {integrity: sha512-DelRK+56UBUEoRr8pQGwTE7oyC019pExis6iG6zZPcjuz4nLbMB5LIosmclnsvajfIBEQiD1Dv9JI/MgnPwygQ==} @@ -2968,12 +2977,6 @@ packages: peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@stylistic/eslint-plugin@2.11.0': - resolution: {integrity: sha512-PNRHbydNG5EH8NK4c+izdJlxajIR6GxcUhzsYNRsn6Myep4dsZt0qFCz3rCPnkvgO5FYibDcMqgNHUT+zvjYZw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8.40.0' - '@svgr/babel-plugin-add-jsx-attribute@8.0.0': resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} @@ -3232,22 +3235,22 @@ packages: '@types/zxcvbn@4.4.5': resolution: {integrity: sha512-FZJgC5Bxuqg7Rhsm/bx6gAruHHhDQ55r+s0JhDh8CQ16fD7NsJJ+p8YMMQDhSQoIrSmjpqqYWA96oQVMNkjRyA==} - '@typescript-eslint/eslint-plugin@8.17.0': - resolution: {integrity: sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/eslint-plugin@7.18.0': + resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@8.17.0': - resolution: {integrity: sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/parser@7.18.0': + resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: @@ -3257,15 +3260,19 @@ packages: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@7.18.0': + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.17.0': resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.17.0': - resolution: {integrity: sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@7.18.0': + resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: @@ -3275,6 +3282,10 @@ packages: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/types@7.18.0': + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@8.17.0': resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3288,6 +3299,15 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@7.18.0': + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/typescript-estree@8.17.0': resolution: {integrity: sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3303,6 +3323,12 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@7.18.0': + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + '@typescript-eslint/utils@8.17.0': resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3317,6 +3343,10 @@ packages: resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/visitor-keys@7.18.0': + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@8.17.0': resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4524,6 +4554,13 @@ packages: eslint: ^7.32.0 || ^8.2.0 eslint-plugin-import: ^2.25.2 + eslint-config-airbnb-typescript@18.0.0: + resolution: {integrity: sha512-oc+Lxzgzsu8FQyFVa4QFaVKiitTYiiW3frB9KYW5OWdPrqFc7FzxgB20hP4cHMlr+MBzGcLl3jnCOVOydL9mIg==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^7.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + eslint-config-airbnb@19.0.4: resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==} engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4543,19 +4580,6 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-import-resolver-typescript@3.7.0: - resolution: {integrity: sha512-Vrwyi8HHxY97K5ebydMtffsWAn1SCR9eol49eCd5fJS4O1WV7PaAjbcjmbfJJSMz/t4Mal212Uz/fQZrOB8mow==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - eslint-plugin-import-x: '*' - peerDependenciesMeta: - eslint-plugin-import: - optional: true - eslint-plugin-import-x: - optional: true - eslint-module-utils@2.12.0: resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} @@ -4577,6 +4601,12 @@ packages: eslint-import-resolver-webpack: optional: true + eslint-plugin-deprecation@3.0.0: + resolution: {integrity: sha512-JuVLdNg/uf0Adjg2tpTyYoYaMbwQNn/c78P1HcccokvhtRphgnRjZDKmhlxbxYptppex03zO76f97DD/yQHv7A==} + peerDependencies: + eslint: ^8.0.0 + typescript: ^4.2.4 || ^5.0.0 + eslint-plugin-eslint-comments@3.2.0: resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} @@ -4593,8 +4623,8 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-jsx-a11y@6.10.2: - resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} + eslint-plugin-jsx-a11y@6.10.1: + resolution: {integrity: sha512-zHByM9WTUMnfsDTafGXRiqxp6lFtNoSOWBY6FonVRn3A+BUwN1L/tdBXT40BcBJi0cZjOGTXZ0eD/rTG9fEJ0g==} engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 @@ -4602,8 +4632,8 @@ packages: eslint-plugin-oxlint@0.15.0: resolution: {integrity: sha512-W2bJu+w9jYPb3x9MQleJuF1iUSIHWLCR0ChknPgSuz8ZjQgrNlSt5SBYl9FtdOZ09wFzU/CvvIYs86EhhexrdA==} - eslint-plugin-react-hooks@5.1.0: - resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==} + eslint-plugin-react-hooks@5.0.0: + resolution: {integrity: sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 @@ -5241,9 +5271,6 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} - is-bun-module@1.3.0: - resolution: {integrity: sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==} - is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -7081,9 +7108,6 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - stable-hash@0.0.4: - resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} - stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' @@ -9276,7 +9300,7 @@ snapshots: '@emnapi/runtime@1.3.1': dependencies: - tslib: 2.6.2 + tslib: 2.8.1 optional: true '@emotion/babel-plugin@11.13.5': @@ -9541,6 +9565,10 @@ snapshots: '@eslint-community/regexpp@4.12.1': {} + '@eslint/compat@1.2.2(eslint@9.16.0(jiti@2.1.0))': + optionalDependencies: + eslint: 9.16.0(jiti@2.1.0) + '@eslint/compat@1.2.4(eslint@9.16.0(jiti@2.1.0))': optionalDependencies: eslint: 9.16.0(jiti@2.1.0) @@ -9555,6 +9583,20 @@ snapshots: '@eslint/core@0.9.0': {} + '@eslint/eslintrc@3.1.0': + dependencies: + ajv: 6.12.6 + debug: 4.4.0 + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 @@ -10097,8 +10139,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@nolyfill/is-core-module@1.0.39': {} - '@oxlint/darwin-arm64@0.15.0': optional: true @@ -10298,26 +10338,26 @@ snapshots: '@rtsao/scc@1.1.0': {} - '@scaleway/eslint-config-react@5.2.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2)': + '@scaleway/eslint-config-react@4.0.9(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2)': dependencies: '@emotion/eslint-plugin': 11.12.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) - '@eslint/compat': 1.2.4(eslint@9.16.0(jiti@2.1.0)) - '@eslint/eslintrc': 3.2.0 - '@stylistic/eslint-plugin': 2.11.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) - '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) + '@eslint/compat': 1.2.2(eslint@9.16.0(jiti@2.1.0)) + '@eslint/eslintrc': 3.1.0 + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) + '@typescript-eslint/parser': 7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) eslint: 9.16.0(jiti@2.1.0) - eslint-config-airbnb: 19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@9.16.0(jiti@2.1.0)))(eslint-plugin-react-hooks@5.1.0(eslint@9.16.0(jiti@2.1.0)))(eslint-plugin-react@7.37.2(eslint@9.16.0(jiti@2.1.0)))(eslint@9.16.0(jiti@2.1.0)) + eslint-config-airbnb: 19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0)))(eslint-plugin-jsx-a11y@6.10.1(eslint@9.16.0(jiti@2.1.0)))(eslint-plugin-react-hooks@5.0.0(eslint@9.16.0(jiti@2.1.0)))(eslint-plugin-react@7.37.2(eslint@9.16.0(jiti@2.1.0)))(eslint@9.16.0(jiti@2.1.0)) + eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0)))(eslint@9.16.0(jiti@2.1.0)) eslint-config-prettier: 9.1.0(eslint@9.16.0(jiti@2.1.0)) - eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@2.1.0)) + eslint-plugin-deprecation: 3.0.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) eslint-plugin-eslint-comments: 3.2.0(eslint@9.16.0(jiti@2.1.0)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.1.0)) - eslint-plugin-jsx-a11y: 6.10.2(eslint@9.16.0(jiti@2.1.0)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0)) + eslint-plugin-jsx-a11y: 6.10.1(eslint@9.16.0(jiti@2.1.0)) eslint-plugin-react: 7.37.2(eslint@9.16.0(jiti@2.1.0)) - eslint-plugin-react-hooks: 5.1.0(eslint@9.16.0(jiti@2.1.0)) + eslint-plugin-react-hooks: 5.0.0(eslint@9.16.0(jiti@2.1.0)) transitivePeerDependencies: + - eslint-import-resolver-typescript - eslint-import-resolver-webpack - - eslint-plugin-import-x - supports-color - typescript @@ -10627,18 +10667,6 @@ snapshots: dependencies: storybook: 8.4.7(prettier@2.8.8) - '@stylistic/eslint-plugin@2.11.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2)': - dependencies: - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) - eslint: 9.16.0(jiti@2.1.0) - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - estraverse: 5.3.0 - picomatch: 4.0.2 - transitivePeerDependencies: - - supports-color - - typescript - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -10931,14 +10959,14 @@ snapshots: '@types/zxcvbn@4.4.5': {} - '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/parser': 7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/type-utils': 7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) + '@typescript-eslint/utils': 7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 7.18.0 eslint: 9.16.0(jiti@2.1.0) graphemer: 1.4.0 ignore: 5.3.1 @@ -10949,12 +10977,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2)': + '@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.4.0 eslint: 9.16.0(jiti@2.1.0) optionalDependencies: @@ -10967,15 +10995,20 @@ snapshots: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/scope-manager@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/scope-manager@8.17.0': dependencies: '@typescript-eslint/types': 8.17.0 '@typescript-eslint/visitor-keys': 8.17.0 - '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2)': + '@typescript-eslint/type-utils@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@typescript-eslint/utils': 7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) debug: 4.4.0 eslint: 9.16.0(jiti@2.1.0) ts-api-utils: 1.3.0(typescript@5.7.2) @@ -10986,6 +11019,8 @@ snapshots: '@typescript-eslint/types@5.62.0': {} + '@typescript-eslint/types@7.18.0': {} + '@typescript-eslint/types@8.17.0': {} '@typescript-eslint/typescript-estree@5.62.0(typescript@5.7.2)': @@ -11002,6 +11037,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.2)': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.4.0 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.7.2) + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2)': dependencies: '@typescript-eslint/types': 8.17.0 @@ -11032,6 +11082,17 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0(jiti@2.1.0)) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + eslint: 9.16.0(jiti@2.1.0) + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/utils@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0(jiti@2.1.0)) @@ -11049,6 +11110,11 @@ snapshots: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.17.0': dependencies: '@typescript-eslint/types': 8.17.0 @@ -11486,7 +11552,7 @@ snapshots: ast-types@0.13.4: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 ast-types@0.16.1: dependencies: @@ -12523,23 +12589,32 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@2.1.0)): + eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0)))(eslint@9.16.0(jiti@2.1.0)): dependencies: confusing-browser-globals: 1.0.11 eslint: 9.16.0(jiti@2.1.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.1.0)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0)) object.assign: 4.1.5 object.entries: 1.1.8 semver: 6.3.1 - eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2(eslint@9.16.0(jiti@2.1.0)))(eslint-plugin-react-hooks@5.1.0(eslint@9.16.0(jiti@2.1.0)))(eslint-plugin-react@7.37.2(eslint@9.16.0(jiti@2.1.0)))(eslint@9.16.0(jiti@2.1.0)): + eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0)))(eslint@9.16.0(jiti@2.1.0)): dependencies: + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) + '@typescript-eslint/parser': 7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) eslint: 9.16.0(jiti@2.1.0) - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@2.1.0)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.1.0)) - eslint-plugin-jsx-a11y: 6.10.2(eslint@9.16.0(jiti@2.1.0)) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0)))(eslint@9.16.0(jiti@2.1.0)) + transitivePeerDependencies: + - eslint-plugin-import + + eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0)))(eslint-plugin-jsx-a11y@6.10.1(eslint@9.16.0(jiti@2.1.0)))(eslint-plugin-react-hooks@5.0.0(eslint@9.16.0(jiti@2.1.0)))(eslint-plugin-react@7.37.2(eslint@9.16.0(jiti@2.1.0)))(eslint@9.16.0(jiti@2.1.0)): + dependencies: + eslint: 9.16.0(jiti@2.1.0) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0)))(eslint@9.16.0(jiti@2.1.0)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0)) + eslint-plugin-jsx-a11y: 6.10.1(eslint@9.16.0(jiti@2.1.0)) eslint-plugin-react: 7.37.2(eslint@9.16.0(jiti@2.1.0)) - eslint-plugin-react-hooks: 5.1.0(eslint@9.16.0(jiti@2.1.0)) + eslint-plugin-react-hooks: 5.0.0(eslint@9.16.0(jiti@2.1.0)) object.assign: 4.1.5 object.entries: 1.1.8 @@ -12555,30 +12630,23 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@2.1.0)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@9.16.0(jiti@2.1.0)): dependencies: - '@nolyfill/is-core-module': 1.0.39 - debug: 4.4.0 - enhanced-resolve: 5.17.1 - eslint: 9.16.0(jiti@2.1.0) - fast-glob: 3.3.2 - get-tsconfig: 4.8.0 - is-bun-module: 1.3.0 - is-glob: 4.0.3 - stable-hash: 0.0.4 + debug: 3.2.7 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.1.0)) + '@typescript-eslint/parser': 7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) + eslint: 9.16.0(jiti@2.1.0) + eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.1.0)): + eslint-plugin-deprecation@3.0.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2): dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) + '@typescript-eslint/utils': 7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) eslint: 9.16.0(jiti@2.1.0) - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@2.1.0)) + ts-api-utils: 1.3.0(typescript@5.7.2) + tslib: 2.8.1 + typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -12588,7 +12656,7 @@ snapshots: eslint: 9.16.0(jiti@2.1.0) ignore: 5.3.1 - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.1.0)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint@9.16.0(jiti@2.1.0)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -12599,7 +12667,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.16.0(jiti@2.1.0) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.16.0(jiti@2.1.0)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@9.16.0(jiti@2.1.0)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -12611,13 +12679,13 @@ snapshots: string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) + '@typescript-eslint/parser': 7.18.0(eslint@9.16.0(jiti@2.1.0))(typescript@5.7.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@9.16.0(jiti@2.1.0)): + eslint-plugin-jsx-a11y@6.10.1(eslint@9.16.0(jiti@2.1.0)): dependencies: aria-query: 5.3.2 array-includes: 3.1.8 @@ -12627,6 +12695,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 + es-iterator-helpers: 1.2.0 eslint: 9.16.0(jiti@2.1.0) hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -12640,7 +12709,7 @@ snapshots: dependencies: jsonc-parser: 3.3.1 - eslint-plugin-react-hooks@5.1.0(eslint@9.16.0(jiti@2.1.0)): + eslint-plugin-react-hooks@5.0.0(eslint@9.16.0(jiti@2.1.0)): dependencies: eslint: 9.16.0(jiti@2.1.0) @@ -13377,10 +13446,6 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.2 - is-bun-module@1.3.0: - dependencies: - semver: 7.6.3 - is-callable@1.2.7: {} is-core-module@2.13.1: @@ -15268,7 +15333,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 sade@1.8.1: dependencies: @@ -15504,8 +15569,6 @@ snapshots: sprintf-js@1.1.3: {} - stable-hash@0.0.4: {} - stable@0.1.8: {} stack-utils@2.0.6: diff --git a/svgo.config.cjs b/svgo.config.cjs index 7848bbdb90..1d03413780 100644 --- a/svgo.config.cjs +++ b/svgo.config.cjs @@ -1,4 +1,3 @@ -// oxlint-disable plugin-import/no-commonjs module.exports = { plugins: [ { diff --git a/vite.config.ts b/vite.config.ts index 69e9c1a21b..913093cb26 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -3,7 +3,7 @@ import browserslist from 'browserslist' import { resolveToEsbuildTarget } from 'esbuild-plugin-browserslist' import { readPackage } from 'read-pkg' import { defineConfig } from 'vite' -import type { UserConfig } from 'vitest/config' +import type { ViteUserConfig } from 'vitest/config' const pkg = await readPackage() @@ -21,7 +21,8 @@ const external = (id: string) => { const match = (dependency: string) => new RegExp(`^${dependency}`).test(id) const isExternal = externalPkgs.some(match) - const isBundled = pkg.bundleDependencies?.some(match) // alias of bundledDependencies package.json field array + // alias of bundledDependencies package.json field array + const isBundled = pkg.bundleDependencies?.some(match) return isExternal && !isBundled } @@ -35,7 +36,7 @@ const targets = resolveToEsbuildTarget( }, ) -export const defaultConfig: UserConfig = { +export const defaultConfig: ViteUserConfig = { build: { outDir: 'dist', target: [...targets],