diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 1e134f8f..00000000 --- a/.eslintignore +++ /dev/null @@ -1,17 +0,0 @@ -# Ignore 3rd party files -node_modules/ -vendor/ - -# Ignore generated files -build/ -coverage/ -dist/ -tmp/ - -# Ignore generated files from Stencil -components/components.d.ts -packages/web-components-angular/src/directives/angular-component-lib/utils.ts -packages/web-components-angular/src/directives/proxies.ts -packages/web-components-stencil/loader -packages/web-components-react/src/react-component-lib/ -packages/web-components-react/src/components.ts diff --git a/.eslintrc.js.json b/.eslintrc.js.json deleted file mode 100644 index ada5cdd1..00000000 --- a/.eslintrc.js.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "rules": { - "array-callback-return": ["error", { "checkForEach": false }], - "block-scoped-var": "error", - "consistent-return": "error", - "constructor-super": "error", - "eqeqeq": "error", - "for-direction": "error", - "getter-return": "error", - "import/order": [ - "error", - { - "alphabetize": { "order": "asc", "caseInsensitive": false }, - "groups": [ - ["builtin", "external"], - ["internal", "unknown"], - ["parent", "sibling", "index"] - ], - "newlines-between": "never", - "warnOnUnassignedImports": false - } - ], - "no-alert": "error", - "no-async-promise-executor": "error", - "no-caller": "error", - "no-case-declarations": "error", - "no-class-assign": "error", - "no-compare-neg-zero": "error", - "no-cond-assign": "error", - "no-const-assign": "error", - "no-constant-condition": "error", - "no-constructor-return": "error", - "no-control-regex": "error", - "no-debugger": "error", - "no-delete-var": "error", - "no-dupe-args": "error", - "no-dupe-class-members": "error", - "no-dupe-else-if": "error", - "no-dupe-keys": "error", - "no-duplicate-case": "error", - "no-empty": "error", - "no-empty-character-class": "error", - "no-empty-pattern": "error", - "no-eval": "error", - "no-ex-assign": "error", - "no-extra-boolean-cast": "error", - "no-extra-semi": "error", - "no-fallthrough": "error", - "no-func-assign": "error", - "no-global-assign": "error", - "no-implicit-globals": "error", - "no-implied-eval": "error", - "no-import-assign": "error", - "no-inner-declarations": "error", - "no-invalid-regexp": "error", - "no-invalid-this": "error", - "no-irregular-whitespace": "error", - "no-lone-blocks": "error", - "no-loop-func": "error", - "no-misleading-character-class": "error", - "no-multi-str": "error", - "no-new-func": "error", - "no-new-symbol": "error", - "no-new-wrappers": "error", - "no-obj-calls": "error", - "no-octal": "error", - "no-octal-escape": "error", - "no-param-reassign": "error", - "no-prototype-builtins": "error", - "no-redeclare": "error", - "no-regex-spaces": "error", - "no-return-assign": "error", - "no-return-await": "error", - "no-self-assign": "error", - "no-self-compare": "error", - "no-sequences": "error", - "no-setter-return": "error", - "no-shadow-restricted-names": "error", - "no-sparse-arrays": "error", - "no-this-before-super": "error", - "no-throw-literal": "error", - "no-undef": "error", - "no-unexpected-multiline": "error", - "no-unmodified-loop-condition": "error", - "no-unreachable": "error", - "no-unsafe-finally": "error", - "no-unsafe-negation": "error", - "no-unused-expressions": "error", - "no-unused-labels": "error", - "no-unused-vars": "error", - "no-useless-call": "error", - "no-useless-catch": "error", - "no-useless-concat": "error", - "no-useless-escape": "error", - "no-useless-return": "error", - "no-void": "error", - "no-with": "error", - "prefer-regex-literals": "error", - "radix": "error", - "require-yield": "error", - "sort-imports": [ - "error", - { - "ignoreCase": true, - "ignoreDeclarationSort": true, - "ignoreMemberSort": false, - "allowSeparatedGroups": false - } - ], - "use-isnan": "error", - "valid-typeof": "error", - "vars-on-top": "off", - "yoda": "error" - } -} diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 56cd708f..00000000 --- a/.eslintrc.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "env": { - "browser": true, - "es6": true, - "node": false - }, - "parserOptions": { - "ecmaVersion": 2018, - "sourceType": "module", - "ecmaFeatures": { - "jsx": true - } - }, - "settings": { - "react": { - "version": "detect" - } - }, - "overrides": [ - { - "extends": ["plugin:json/recommended"], - "files": ["*.json"] - }, - { - "extends": [ - "plugin:react/recommended", - "eslint-config-prettier", - "./.eslintrc.js.json", - "./.eslintrc.react.json", - "plugin:mdx/overrides" - ], - "files": ["*.mdx"], - "plugins": ["import"] - }, - { - "extends": [ - "plugin:react/recommended", - "eslint-config-prettier", - "./.eslintrc.js.json", - "./.eslintrc.react.json" - ], - "files": ["*.js", "*.jsx"], - "plugins": ["import"] - }, - { - "extends": [ - "plugin:react/recommended", - "eslint-config-prettier", - "./.eslintrc.js.json", - "./.eslintrc.react.json" - ], - "files": ["*.ts", "*.tsx"], - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint", "import"] - }, - { - "extends": [ - "plugin:react/recommended", - "eslint-config-prettier", - "./.eslintrc.js.json", - "./.eslintrc.react.json" - ], - "files": ["**/stencil.tsx", "**/*.stencil.tsx"], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": ["packages/web-components-stencil/tsconfig.json"] - }, - "plugins": ["@typescript-eslint", "import"] - }, - { - "excludedFiles": ["**/stencil.tsx", "**/*.stencil.tsx"], - "extends": [ - "plugin:react/recommended", - "eslint-config-prettier", - "./.eslintrc.js.json", - "./.eslintrc.react.json" - ], - "files": ["*.ts", "*.tsx"], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": [ - "packages/storybook/tsconfig.json", - "packages/web-components-react/tsconfig.json", - "packages/components-react/tsconfig.json", - "packages/components-react/tsconfig.test.json", - "packages/web-components-stencil/tsconfig.json", - "packages/web-components-stencil/tsconfig.jest.json" - ] - }, - "plugins": ["@typescript-eslint"] - } - ] -} diff --git a/.eslintrc.react.json b/.eslintrc.react.json deleted file mode 100644 index d99f452f..00000000 --- a/.eslintrc.react.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "rules": { - "react/no-unknown-property": "off", - "react/prop-types": "off", - "react/jsx-key": "off", - "react/react-in-jsx-scope": "off" - } -} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..a72b7a67 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,103 @@ +import eslintConfigPrettier from 'eslint-config-prettier'; +import eslintPluginImport from 'eslint-plugin-import'; +import eslintPluginReact from 'eslint-plugin-react'; +import globals from 'globals'; +import tseslint from 'typescript-eslint'; +import { jsRules, reactRules } from './eslint.rules.mjs'; + +export default tseslint.config( + { + name: 'nlds/ignores', + ignores: [ + '**/build/', + '**/coverage/', + '**/dist/', + '**/tmp/', + // for @stencil/react-output-target >=0.6 + 'packages/web-components-react/src/stencil-generated', + // for @stencil/react-output-target <0.6 + 'packages/web-components-react/src/react-component-lib/', + 'packages/web-components-react/src/components.ts', + 'packages/web-components-stencil/{loader,www}', + ], + }, + { + name: 'nlds/settings', + // https://eslint.org/docs/latest/use/configure/configuration-files#configuring-linter-options + linterOptions: { + reportUnusedDisableDirectives: true, + }, + // https://eslint.org/docs/latest/use/configure/configuration-files#configuring-shared-settings + settings: { + react: { + version: 'detect', + }, + }, + languageOptions: { + parserOptions: { + sourceType: 'module', + }, + }, + }, + { + name: 'nlds/rules', + plugins: { + import: eslintPluginImport, + }, + rules: jsRules, + }, + ...tseslint.configs.recommended, + { + name: 'nlds/tooling', + files: ['**/*.cjs', '**/vite.config.ts'], + languageOptions: { + globals: { ...globals.node }, + }, + rules: { + '@typescript-eslint/no-require-imports': 'off', + }, + }, + { + name: 'nlds/test-files', + files: ['**/*.test.{ts,tsx,js,jsx}'], + languageOptions: { + globals: { ...globals.jest }, + }, + }, + { + name: 'nlds/source-code', + files: ['**/src/*.{js,mjs,ts}'], + languageOptions: { + globals: { ...globals.browser }, + }, + }, + { + name: 'nlds/react-jsx', + files: ['**/*.{jsx,tsx}'], + ignores: ['**/web-components-stencil/**/*.{jsx,tsx}'], + plugins: { + react: eslintPluginReact, + }, + rules: { + ...eslintPluginReact.configs.recommended.rules, + ...eslintPluginReact.configs['jsx-runtime'].rules, + ...reactRules, + }, + }, + { + name: 'nlds/stencil-jsx', + files: ['**/web-components-stencil/**/*.{jsx,tsx}'], + rules: { + '@typescript-eslint/no-unused-vars': [ + 'error', + { + varsIgnorePattern: '^h$', + }, + ], + }, + }, + { + name: 'eslint-config-prettier', + ...eslintConfigPrettier, + }, +); diff --git a/eslint.rules.mjs b/eslint.rules.mjs new file mode 100644 index 00000000..125df8e8 --- /dev/null +++ b/eslint.rules.mjs @@ -0,0 +1,120 @@ +export const jsRules = { + 'array-callback-return': ['error', { checkForEach: false }], + 'block-scoped-var': 'error', + 'consistent-return': 'error', + 'constructor-super': 'error', + eqeqeq: 'error', + 'for-direction': 'error', + 'getter-return': 'error', + 'import/order': [ + 'error', + { + alphabetize: { order: 'asc', caseInsensitive: false }, + groups: [ + ['builtin', 'external'], + ['internal', 'unknown'], + ['parent', 'sibling', 'index'], + ], + 'newlines-between': 'never', + warnOnUnassignedImports: false, + }, + ], + 'no-alert': 'error', + 'no-async-promise-executor': 'error', + 'no-caller': 'error', + 'no-case-declarations': 'error', + 'no-class-assign': 'error', + 'no-compare-neg-zero': 'error', + 'no-cond-assign': 'error', + 'no-const-assign': 'error', + 'no-constant-condition': 'error', + 'no-constructor-return': 'error', + 'no-control-regex': 'error', + 'no-debugger': 'error', + 'no-delete-var': 'error', + 'no-dupe-args': 'error', + 'no-dupe-class-members': 'error', + 'no-dupe-else-if': 'error', + 'no-dupe-keys': 'error', + 'no-duplicate-case': 'error', + 'no-empty': 'error', + 'no-empty-character-class': 'error', + 'no-empty-pattern': 'error', + 'no-eval': 'error', + 'no-ex-assign': 'error', + 'no-extra-boolean-cast': 'error', + 'no-extra-semi': 'error', + 'no-fallthrough': 'error', + 'no-func-assign': 'error', + 'no-global-assign': 'error', + 'no-implicit-globals': 'error', + 'no-implied-eval': 'error', + 'no-import-assign': 'error', + 'no-inner-declarations': 'error', + 'no-invalid-regexp': 'error', + 'no-invalid-this': 'error', + 'no-irregular-whitespace': 'error', + 'no-lone-blocks': 'error', + 'no-loop-func': 'error', + 'no-misleading-character-class': 'error', + 'no-multi-str': 'error', + 'no-new-func': 'error', + 'no-new-symbol': 'error', + 'no-new-wrappers': 'error', + 'no-obj-calls': 'error', + 'no-octal': 'error', + 'no-octal-escape': 'error', + 'no-param-reassign': 'error', + 'no-prototype-builtins': 'error', + 'no-redeclare': 'error', + 'no-regex-spaces': 'error', + 'no-return-assign': 'error', + 'no-return-await': 'error', + 'no-self-assign': 'error', + 'no-self-compare': 'error', + 'no-sequences': 'error', + 'no-setter-return': 'error', + 'no-shadow-restricted-names': 'error', + 'no-sparse-arrays': 'error', + 'no-this-before-super': 'error', + 'no-throw-literal': 'error', + 'no-undef': 'error', + 'no-unexpected-multiline': 'error', + 'no-unmodified-loop-condition': 'error', + 'no-unreachable': 'error', + 'no-unsafe-finally': 'error', + 'no-unsafe-negation': 'error', + 'no-unused-expressions': 'error', + 'no-unused-labels': 'error', + 'no-unused-vars': 'error', + 'no-useless-call': 'error', + 'no-useless-catch': 'error', + 'no-useless-concat': 'error', + 'no-useless-escape': 'error', + 'no-useless-return': 'error', + 'no-void': 'error', + 'no-with': 'error', + 'prefer-regex-literals': 'error', + radix: 'error', + 'require-yield': 'error', + 'sort-imports': [ + 'error', + { + ignoreCase: true, + ignoreDeclarationSort: true, + ignoreMemberSort: false, + allowSeparatedGroups: false, + }, + ], + 'use-isnan': 'error', + 'valid-typeof': 'error', + 'vars-on-top': 'off', + yoda: 'error', +}; + +export const reactRules = { + 'react/no-unknown-property': 'off', + 'react/prop-types': 'off', + 'react/jsx-key': 'off', + 'react/react-in-jsx-scope': 'off', +}; diff --git a/package.json b/package.json index 31174cb2..3cdde5ba 100644 --- a/package.json +++ b/package.json @@ -23,15 +23,17 @@ ], "devDependencies": { "@changesets/cli": "2.27.7", + "@eslint/compat": "1.1.1", + "@eslint/js": "9.10.0", "@types/node": "22.2.0", - "@typescript-eslint/eslint-plugin": "8.1.0", - "@typescript-eslint/parser": "8.1.0", - "eslint": "8.57.0", + "eslint": "9.10.0", "eslint-config-prettier": "9.1.0", + "eslint-mdx": "3.1.5", "eslint-plugin-import": "2.29.1", "eslint-plugin-json": "3.1.0", "eslint-plugin-mdx": "3.1.5", "eslint-plugin-react": "7.35.0", + "globals": "15.9.0", "husky": "9.1.4", "lint-staged": "15.2.9", "markdownlint-cli": "0.41.0", @@ -43,20 +45,21 @@ "stylelint": "16.8.1", "stylelint-config-standard-scss": "13.1.0", "stylelint-order": "6.0.4", - "typescript": "5.5.4" + "typescript": "5.5.4", + "typescript-eslint": "8.6.0" }, "scripts": { "build": "pnpm --recursive run build", "clean": "pnpm --recursive run clean", "lint": "npm-run-all --continue-on-error lint:** lint-workspaces", "lint:css": "stylelint --allow-empty-input '**/*.{css,scss}'", - "lint:js": "eslint --ext .js,.cjs,.mjs,.json,.jsx,.mdx,.ts,.tsx --report-unused-disable-directives .", + "lint:js": "eslint", "lint:md": "markdownlint '**/*.md'", "lint:package-json": "npmPkgJsonLint .", "lint:package-lock": "pnpm ls --recursive", "lint-fix": "npm-run-all --continue-on-error lint-fix:** prettier", "lint-fix:css": "stylelint --fix '**/*.{css,scss}'", - "lint-fix:js": "eslint --ext .js,.cjs,.mjs,.json,.jsx,.mdx,.ts,.tsx --fix --report-unused-disable-directives .", + "lint-fix:js": "eslint --fix", "lint-fix:md": "markdownlint --fix '**/*.md'", "lint-workspaces": "pnpm --recursive --if-present run lint", "lint-build": "pnpm --recursive --if-present run lint-build", diff --git a/packages/components-react/rollup.config.mjs b/packages/components-react/rollup.config.mjs index 08767994..94c268c4 100644 --- a/packages/components-react/rollup.config.mjs +++ b/packages/components-react/rollup.config.mjs @@ -5,8 +5,8 @@ import { readFileSync } from 'fs'; import filesize from 'rollup-plugin-filesize'; import nodeExternal from 'rollup-plugin-node-externals'; import nodePolyfills from 'rollup-plugin-node-polyfills'; -import postcss from 'rollup-plugin-postcss'; import peerDepsExternal from 'rollup-plugin-peer-deps-external'; +import postcss from 'rollup-plugin-postcss'; import typescript from 'rollup-plugin-typescript2'; const packageJson = JSON.parse(readFileSync('./package.json', 'utf8')); diff --git a/packages/storybook/src/css-button.stories.tsx b/packages/storybook/src/css-button.stories.tsx index ec624c19..167a90d4 100644 --- a/packages/storybook/src/css-button.stories.tsx +++ b/packages/storybook/src/css-button.stories.tsx @@ -5,7 +5,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import { PropsWithChildren } from 'react'; import '@example/components-css/button/index.scss'; -const Button = ({ children }: PropsWithChildren<{}>) => ( +const Button = ({ children }: PropsWithChildren) => ( diff --git a/packages/storybook/src/web-component-button.stories.tsx b/packages/storybook/src/web-component-button.stories.tsx index adffa951..490d8ca8 100644 --- a/packages/storybook/src/web-component-button.stories.tsx +++ b/packages/storybook/src/web-component-button.stories.tsx @@ -5,7 +5,7 @@ import { ExampleButton } from '@example/web-components-react'; import type { Meta, StoryObj } from '@storybook/react'; import { PropsWithChildren } from 'react'; -const Button = ({ children }: PropsWithChildren<{}>) => {children}; +const Button = ({ children }: PropsWithChildren) => {children}; const meta = { title: 'Web Component/Button', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ba35d9d9..170ab2a9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,33 +15,39 @@ importers: '@changesets/cli': specifier: 2.27.7 version: 2.27.7 + '@eslint/compat': + specifier: 1.1.1 + version: 1.1.1 + '@eslint/js': + specifier: 9.10.0 + version: 9.10.0 '@types/node': specifier: 22.2.0 version: 22.2.0 - '@typescript-eslint/eslint-plugin': - specifier: 8.1.0 - version: 8.1.0(@typescript-eslint/parser@8.1.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/parser': - specifier: 8.1.0 - version: 8.1.0(eslint@8.57.0)(typescript@5.5.4) eslint: - specifier: 8.57.0 - version: 8.57.0 + specifier: 9.10.0 + version: 9.10.0 eslint-config-prettier: specifier: 9.1.0 - version: 9.1.0(eslint@8.57.0) + version: 9.1.0(eslint@9.10.0) + eslint-mdx: + specifier: 3.1.5 + version: 3.1.5(eslint@9.10.0) eslint-plugin-import: specifier: 2.29.1 - version: 2.29.1(@typescript-eslint/parser@8.1.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0) + version: 2.29.1(eslint@9.10.0) eslint-plugin-json: specifier: 3.1.0 version: 3.1.0 eslint-plugin-mdx: specifier: 3.1.5 - version: 3.1.5(eslint@8.57.0) + version: 3.1.5(eslint@9.10.0) eslint-plugin-react: specifier: 7.35.0 - version: 7.35.0(eslint@8.57.0) + version: 7.35.0(eslint@9.10.0) + globals: + specifier: 15.9.0 + version: 15.9.0 husky: specifier: 9.1.4 version: 9.1.4 @@ -78,6 +84,9 @@ importers: typescript: specifier: 5.5.4 version: 5.5.4 + typescript-eslint: + specifier: 8.6.0 + version: 8.6.0(eslint@9.10.0)(typescript@5.5.4) packages/components-css: {} @@ -1404,35 +1413,44 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.0': - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + '@eslint-community/regexpp@4.11.1': + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-community/regexpp@4.11.0': - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint/compat@1.1.1': + resolution: {integrity: sha512-lpHyRyplhGPL5mGEh6M9O5nnKk0Gz4bFI+Zu6tKlPpDUN7XshWvH9C/px4UVm87IAANE0W81CEsNGbS1KlzXpA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.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.18.0': + resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + 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/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.10.0': + resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.1.0': + resolution: {integrity: sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@etchteam/storybook-addon-status@5.0.0': resolution: {integrity: sha512-0Dg94xQ3T+rYTi6ekFkaH0XU9k0IQOqidiSmwN47Oqw4u1qjxK6m7wV3j7C0deLEuf4U4PrAcsDfDjyehKne2A==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.2': - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -2246,8 +2264,8 @@ packages: '@types/yargs@17.0.24': resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - '@typescript-eslint/eslint-plugin@8.1.0': - resolution: {integrity: sha512-LlNBaHFCEBPHyD4pZXb35mzjGkuGKXU5eeCA1SxvHfiRES0E82dOounfVpL4DCqYvJEKab0bZIA0gCRpdLKkCw==} + '@typescript-eslint/eslint-plugin@8.6.0': + resolution: {integrity: sha512-UOaz/wFowmoh2G6Mr9gw60B1mm0MzUtm6Ic8G2yM1Le6gyj5Loi/N+O5mocugRGY+8OeeKmkMmbxNqUCq3B4Sg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -2257,8 +2275,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.1.0': - resolution: {integrity: sha512-U7iTAtGgJk6DPX9wIWPPOlt1gO57097G06gIcl0N0EEnNw8RGD62c+2/DiP/zL7KrkqnnqF7gtFGR7YgzPllTA==} + '@typescript-eslint/parser@8.6.0': + resolution: {integrity: sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -2267,12 +2285,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.1.0': - resolution: {integrity: sha512-DsuOZQji687sQUjm4N6c9xABJa7fjvfIdjqpSIIVOgaENf2jFXiM9hIBZOL3hb6DHK9Nvd2d7zZnoMLf9e0OtQ==} + '@typescript-eslint/scope-manager@8.6.0': + resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.1.0': - resolution: {integrity: sha512-oLYvTxljVvsMnldfl6jIKxTaU7ok7km0KDrwOt1RHYu6nxlhN3TIx8k5Q52L6wR33nOwDgM7VwW1fT1qMNfFIA==} + '@typescript-eslint/type-utils@8.6.0': + resolution: {integrity: sha512-dtePl4gsuenXVwC7dVNlb4mGDcKjDT/Ropsk4za/ouMBPplCLyznIaR+W65mvCvsyS97dymoBRrioEXI7k0XIg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -2280,12 +2298,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.1.0': - resolution: {integrity: sha512-q2/Bxa0gMOu/2/AKALI0tCKbG2zppccnRIRCW6BaaTlRVaPKft4oVYPp7WOPpcnsgbr0qROAVCVKCvIQ0tbWog==} + '@typescript-eslint/types@8.6.0': + resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.1.0': - resolution: {integrity: sha512-NTHhmufocEkMiAord/g++gWKb0Fr34e9AExBRdqgWdVBaKoei2dIyYKD9Q0jBnvfbEA5zaf8plUFMUH6kQ0vGg==} + '@typescript-eslint/typescript-estree@8.6.0': + resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -2293,14 +2311,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.1.0': - resolution: {integrity: sha512-ypRueFNKTIFwqPeJBfeIpxZ895PQhNyH4YID6js0UoBImWYoSjBsahUn9KMiJXh94uOjVBgHD9AmkyPsPnFwJA==} + '@typescript-eslint/utils@8.6.0': + resolution: {integrity: sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.1.0': - resolution: {integrity: sha512-ba0lNI19awqZ5ZNKh6wCModMwoZs457StTebQ0q1NP58zSi2F6MOZRXwfKZy+jB78JNJ/WH8GSh2IQNzXX8Nag==} + '@typescript-eslint/visitor-keys@8.6.0': + resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': @@ -2371,18 +2389,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - - acorn@8.11.2: - resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} - engines: {node: '>=0.4.0'} - hasBin: true - - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} engines: {node: '>=0.4.0'} hasBin: true @@ -3505,18 +3513,31 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - 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.0.2: + resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} + 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} + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.10.0: + resolution: {integrity: sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.1.0: + resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} @@ -3630,9 +3651,9 @@ packages: fd-package-json@1.2.0: resolution: {integrity: sha512-45LSPmWf+gC5tdCQMNH4s9Sr00bIkiD9aN7dc5hqkrEw1geRYyDQS1v1oMHAW3ysfxfndqGsrDREHHjNNbKUfA==} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} file-entry-cache@9.0.0: resolution: {integrity: sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==} @@ -3677,17 +3698,14 @@ packages: find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flat-cache@5.0.0: resolution: {integrity: sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==} engines: {node: '>=18'} - flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} - flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} @@ -3889,9 +3907,13 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.9.0: + resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==} + engines: {node: '>=18'} globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} @@ -4091,10 +4113,6 @@ packages: resolution: {integrity: sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} - engines: {node: '>= 4'} - ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} @@ -5116,10 +5134,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.4: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} @@ -6979,6 +6993,15 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typescript-eslint@8.6.0: + resolution: {integrity: sha512-eEhhlxCEpCd4helh3AO1hk0UP2MvbRi9CtIAJTVPQjuSXOOO2jsEacNi4UdcJzZJbeuVg1gMhtZ8UYb+NFYPrA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + typescript@5.5.4: resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} @@ -8446,7 +8469,7 @@ snapshots: '@babel/parser': 7.25.3 '@babel/template': 7.25.0 '@babel/types': 7.25.2 - debug: 4.3.4 + debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -8715,22 +8738,30 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.10.0)': dependencies: - eslint: 8.57.0 + eslint: 9.10.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.0': {} + '@eslint-community/regexpp@4.11.1': {} - '@eslint-community/regexpp@4.11.0': {} + '@eslint/compat@1.1.1': {} + + '@eslint/config-array@0.18.0': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.6 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color - '@eslint/eslintrc@2.1.4': + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.20.0 - ignore: 5.3.0 + debug: 4.3.6 + espree: 10.1.0 + globals: 14.0.0 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -8738,23 +8769,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@9.10.0': {} - '@etchteam/storybook-addon-status@5.0.0': + '@eslint/object-schema@2.1.4': {} + + '@eslint/plugin-kit@0.1.0': dependencies: - lodash: 4.17.21 + levn: 0.4.1 - '@humanwhocodes/config-array@0.11.14': + '@etchteam/storybook-addon-status@5.0.0': dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + lodash: 4.17.21 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.2': {} + '@humanwhocodes/retry@0.3.0': {} '@isaacs/cliui@8.0.2': dependencies: @@ -9654,7 +9683,7 @@ snapshots: '@types/hast@3.0.4': dependencies: - '@types/unist': 2.0.7 + '@types/unist': 3.0.2 '@types/http-errors@2.0.1': {} @@ -9773,15 +9802,15 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.0 - '@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.10.0)(typescript@5.5.4))(eslint@9.10.0)(typescript@5.5.4)': dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.1.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 8.1.0 - '@typescript-eslint/type-utils': 8.1.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.1.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.1.0 - eslint: 8.57.0 + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 8.6.0(eslint@9.10.0)(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.6.0(eslint@9.10.0)(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.6.0 + eslint: 9.10.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -9791,28 +9820,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.1.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.6.0(eslint@9.10.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 8.1.0 - '@typescript-eslint/types': 8.1.0 - '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.1.0 + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.6.0 debug: 4.3.6 - eslint: 8.57.0 + eslint: 9.10.0 optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.1.0': + '@typescript-eslint/scope-manager@8.6.0': dependencies: - '@typescript-eslint/types': 8.1.0 - '@typescript-eslint/visitor-keys': 8.1.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/visitor-keys': 8.6.0 - '@typescript-eslint/type-utils@8.1.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/type-utils@8.6.0(eslint@9.10.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) - '@typescript-eslint/utils': 8.1.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.6.0(eslint@9.10.0)(typescript@5.5.4) debug: 4.3.6 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: @@ -9821,14 +9850,14 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@8.1.0': {} + '@typescript-eslint/types@8.6.0': {} - '@typescript-eslint/typescript-estree@8.1.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.6.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 8.1.0 - '@typescript-eslint/visitor-keys': 8.1.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/visitor-keys': 8.6.0 debug: 4.3.6 - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 @@ -9838,20 +9867,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.1.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/utils@8.6.0(eslint@9.10.0)(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 8.1.0 - '@typescript-eslint/types': 8.1.0 - '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) - eslint: 8.57.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0) + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.4) + eslint: 9.10.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.1.0': + '@typescript-eslint/visitor-keys@8.6.0': dependencies: - '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/types': 8.6.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -9912,20 +9941,16 @@ snapshots: acorn-globals@7.0.1: dependencies: - acorn: 8.10.0 + acorn: 8.12.1 acorn-walk: 8.2.0 acorn-jsx@5.3.2(acorn@7.4.1): dependencies: acorn: 7.4.1 - acorn-jsx@5.3.2(acorn@8.11.2): + acorn-jsx@5.3.2(acorn@8.12.1): dependencies: - acorn: 8.11.2 - - acorn-jsx@5.3.2(acorn@8.11.3): - dependencies: - acorn: 8.11.3 + acorn: 8.12.1 acorn-walk@7.2.0: {} @@ -9933,11 +9958,7 @@ snapshots: acorn@7.4.1: {} - acorn@8.10.0: {} - - acorn@8.11.2: {} - - acorn@8.11.3: {} + acorn@8.12.1: {} agent-base@6.0.2: dependencies: @@ -11232,9 +11253,9 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@9.1.0(eslint@8.57.0): + eslint-config-prettier@9.1.0(eslint@9.10.0): dependencies: - eslint: 8.57.0 + eslint: 9.10.0 eslint-import-resolver-node@0.3.9: dependencies: @@ -11244,11 +11265,11 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-mdx@3.1.5(eslint@8.57.0): + eslint-mdx@3.1.5(eslint@9.10.0): dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint: 8.57.0 + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint: 9.10.0 espree: 9.6.1 estree-util-visit: 2.0.0 remark-mdx: 3.0.0 @@ -11264,17 +11285,16 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@8.1.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + eslint-module-utils@2.8.0(eslint-import-resolver-node@0.3.9)(eslint@9.10.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.1.0(eslint@8.57.0)(typescript@5.5.4) - eslint: 8.57.0 + eslint: 9.10.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.1.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0): + eslint-plugin-import@2.29.1(eslint@9.10.0): dependencies: array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 @@ -11282,9 +11302,9 @@ snapshots: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.57.0 + eslint: 9.10.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@8.1.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.0(eslint-import-resolver-node@0.3.9)(eslint@9.10.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -11294,8 +11314,6 @@ snapshots: object.values: 1.1.7 semver: 6.3.1 tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 8.1.0(eslint@8.57.0)(typescript@5.5.4) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -11306,18 +11324,18 @@ snapshots: lodash: 4.17.21 vscode-json-languageservice: 4.2.1 - eslint-plugin-markdown@3.0.1(eslint@8.57.0): + eslint-plugin-markdown@3.0.1(eslint@9.10.0): dependencies: - eslint: 8.57.0 + eslint: 9.10.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - eslint-plugin-mdx@3.1.5(eslint@8.57.0): + eslint-plugin-mdx@3.1.5(eslint@9.10.0): dependencies: - eslint: 8.57.0 - eslint-mdx: 3.1.5(eslint@8.57.0) - eslint-plugin-markdown: 3.0.1(eslint@8.57.0) + eslint: 9.10.0 + eslint-mdx: 3.1.5(eslint@9.10.0) + eslint-plugin-markdown: 3.0.1(eslint@9.10.0) remark-mdx: 3.0.0 remark-parse: 11.0.0 remark-stringify: 11.0.0 @@ -11327,7 +11345,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react@7.35.0(eslint@8.57.0): + eslint-plugin-react@7.35.0(eslint@9.10.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -11335,7 +11353,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.0.19 - eslint: 8.57.0 + eslint: 9.10.0 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.4 @@ -11349,47 +11367,45 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 - eslint-scope@7.2.2: + eslint-scope@8.0.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint-visitor-keys@4.0.0: {} + + eslint@9.10.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.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.10.0) + '@eslint-community/regexpp': 4.11.1 + '@eslint/config-array': 0.18.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.10.0 + '@eslint/plugin-kit': 0.1.0 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 + debug: 4.3.6 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.2 + eslint-visitor-keys: 4.0.0 + espree: 10.1.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.20.0 - graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 @@ -11399,10 +11415,16 @@ snapshots: transitivePeerDependencies: - supports-color + espree@10.1.0: + dependencies: + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 4.0.0 + espree@9.6.1: dependencies: - acorn: 8.11.2 - acorn-jsx: 5.3.2(acorn@8.11.2) + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -11554,9 +11576,9 @@ snapshots: dependencies: walk-up-path: 3.0.1 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 file-entry-cache@9.0.0: dependencies: @@ -11615,19 +11637,16 @@ snapshots: micromatch: 4.0.7 pkg-dir: 4.2.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 flat-cache@5.0.0: dependencies: flatted: 3.3.1 keyv: 4.5.4 - flatted@3.2.9: {} - flatted@3.3.1: {} flow-parser@0.212.0: {} @@ -11807,7 +11826,7 @@ snapshots: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 + minimatch: 9.0.5 minipass: 7.0.4 path-scurry: 1.10.1 @@ -11858,9 +11877,9 @@ snapshots: globals@11.12.0: {} - globals@13.20.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} + + globals@15.9.0: {} globalthis@1.0.3: dependencies: @@ -12073,9 +12092,7 @@ snapshots: ignore-walk@6.0.4: dependencies: - minimatch: 9.0.4 - - ignore@5.3.0: {} + minimatch: 9.0.5 ignore@5.3.1: {} @@ -12782,7 +12799,7 @@ snapshots: jsdom@20.0.3: dependencies: abab: 2.0.6 - acorn: 8.10.0 + acorn: 8.12.1 acorn-globals: 7.0.1 cssom: 0.5.0 cssstyle: 2.3.0 @@ -13311,8 +13328,8 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) micromark-extension-mdx-expression: 3.0.0 micromark-extension-mdx-jsx: 3.0.0 micromark-extension-mdx-md: 2.0.0 @@ -13497,10 +13514,6 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 @@ -15492,7 +15505,7 @@ snapshots: terser@5.19.0: dependencies: '@jridgewell/source-map': 0.3.5 - acorn: 8.11.3 + acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 @@ -15660,6 +15673,17 @@ snapshots: typedarray@0.0.6: {} + typescript-eslint@8.6.0(eslint@9.10.0)(typescript@5.5.4): + dependencies: + '@typescript-eslint/eslint-plugin': 8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.10.0)(typescript@5.5.4))(eslint@9.10.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.6.0(eslint@9.10.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.6.0(eslint@9.10.0)(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - eslint + - supports-color + typescript@5.5.4: {} uc.micro@2.1.0: {} @@ -15786,7 +15810,7 @@ snapshots: unplugin@1.5.1: dependencies: - acorn: 8.11.3 + acorn: 8.12.1 chokidar: 3.5.3 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1