diff --git a/.changeset/renovate-93b1884.md b/.changeset/renovate-93b1884.md new file mode 100644 index 000000000..d596fe3cf --- /dev/null +++ b/.changeset/renovate-93b1884.md @@ -0,0 +1,6 @@ +--- +'@scaleway/eslint-config-react': patch +--- + +Updated dependency `@typescript-eslint/eslint-plugin` to `8.10.0`. +Updated dependency `@typescript-eslint/parser` to `8.10.0`. diff --git a/packages/eslint-config-react/package.json b/packages/eslint-config-react/package.json index de36dee70..6d2970779 100644 --- a/packages/eslint-config-react/package.json +++ b/packages/eslint-config-react/package.json @@ -34,10 +34,9 @@ "@emotion/eslint-plugin": "11.12.0", "@eslint/compat": "1.2.2", "@eslint/eslintrc": "3.1.0", - "@typescript-eslint/eslint-plugin": "7.18.0", - "@typescript-eslint/parser": "7.18.0", + "@typescript-eslint/eslint-plugin": "8.10.0", + "@typescript-eslint/parser": "8.10.0", "eslint-config-airbnb": "19.0.4", - "eslint-config-airbnb-typescript": "18.0.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-deprecation": "3.0.0", "eslint-plugin-eslint-comments": "3.2.0", diff --git a/packages/eslint-config-react/typescript.mjs b/packages/eslint-config-react/typescript.mjs index 308e867ec..7fbc79829 100644 --- a/packages/eslint-config-react/typescript.mjs +++ b/packages/eslint-config-react/typescript.mjs @@ -5,6 +5,25 @@ import path from 'node:path' import { fileURLToPath } from 'node:url' import shared from './shared.mjs' +/* eslint-disable import/no-extraneous-dependencies */ +const { + rules: baseBestPracticesRules, +} = require('eslint-config-airbnb-base/rules/best-practices') +const { + rules: baseErrorsRules, +} = require('eslint-config-airbnb-base/rules/errors') +const { rules: baseES6Rules } = require('eslint-config-airbnb-base/rules/es6') +const { + rules: baseImportsRules, +} = require('eslint-config-airbnb-base/rules/imports') +const { + rules: baseStyleRules, +} = require('eslint-config-airbnb-base/rules/style') +const { + rules: baseVariablesRules, +} = require('eslint-config-airbnb-base/rules/variables') +/* eslint-enable import/no-extraneous-dependencies */ + const filename = fileURLToPath(import.meta.url) const dirname = path.dirname(filename) @@ -16,7 +35,7 @@ export default [ ...fixupConfigRules( compat.extends( 'eslint-config-airbnb', - 'eslint-config-airbnb-typescript', + // 'eslint-config-airbnb-typescript', 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended-requiring-type-checking', ), @@ -72,6 +91,218 @@ export default [ allowExpressions: true, }, ], + // Replace Airbnb 'brace-style' rule with '@typescript-eslint' version + 'brace-style': 'off', + '@typescript-eslint/brace-style': baseStyleRules['brace-style'], + + // Replace Airbnb 'camelcase' rule with '@typescript-eslint/naming-convention' + camelcase: 'off', + // The `@typescript-eslint/naming-convention` rule allows `leadingUnderscore` and `trailingUnderscore` settings. However, the existing `no-underscore-dangle` rule already takes care of this. + '@typescript-eslint/naming-convention': [ + 'error', + // Allow camelCase variables (23.2), PascalCase variables (23.8), and UPPER_CASE variables (23.10) + { + selector: 'variable', + format: ['camelCase', 'PascalCase', 'UPPER_CASE'], + }, + // Allow camelCase functions (23.2), and PascalCase functions (23.8) + { + selector: 'function', + format: ['camelCase', 'PascalCase'], + }, + // Airbnb recommends PascalCase for classes (23.3), and although Airbnb does not make TypeScript recommendations, we are assuming this rule would similarly apply to anything "type like", including interfaces, type aliases, and enums + { + selector: 'typeLike', + format: ['PascalCase'], + }, + ], + + // Replace Airbnb 'comma-dangle' rule with '@typescript-eslint' version + // The TypeScript version also adds 3 new options, all of which should be set to the same value as the base config + 'comma-dangle': 'off', + '@typescript-eslint/comma-dangle': [ + baseStyleRules['comma-dangle'][0], + { + ...baseStyleRules['comma-dangle'][1], + enums: baseStyleRules['comma-dangle'][1].arrays, + generics: baseStyleRules['comma-dangle'][1].arrays, + tuples: baseStyleRules['comma-dangle'][1].arrays, + }, + ], + + // Replace Airbnb 'comma-spacing' rule with '@typescript-eslint' version + 'comma-spacing': 'off', + '@typescript-eslint/comma-spacing': baseStyleRules['comma-spacing'], + + // Replace Airbnb 'default-param-last' rule with '@typescript-eslint' version + 'default-param-last': 'off', + '@typescript-eslint/default-param-last': + baseBestPracticesRules['default-param-last'], + + // Replace Airbnb 'dot-notation' rule with '@typescript-eslint' version + 'dot-notation': 'off', + '@typescript-eslint/dot-notation': baseBestPracticesRules['dot-notation'], + + // Replace Airbnb 'func-call-spacing' rule with '@typescript-eslint' version + 'func-call-spacing': 'off', + '@typescript-eslint/func-call-spacing': + baseStyleRules['func-call-spacing'], + + // Replace Airbnb 'indent' rule with '@typescript-eslint' version + indent: 'off', + '@typescript-eslint/indent': baseStyleRules.indent, + + // Replace Airbnb 'keyword-spacing' rule with '@typescript-eslint' version + 'keyword-spacing': 'off', + '@typescript-eslint/keyword-spacing': baseStyleRules['keyword-spacing'], + + // Replace Airbnb 'lines-between-class-members' rule with '@typescript-eslint' version + 'lines-between-class-members': 'off', + '@typescript-eslint/lines-between-class-members': + baseStyleRules['lines-between-class-members'], + + // Replace Airbnb 'no-array-constructor' rule with '@typescript-eslint' version + 'no-array-constructor': 'off', + '@typescript-eslint/no-array-constructor': + baseStyleRules['no-array-constructor'], + + // Replace Airbnb 'no-dupe-class-members' rule with '@typescript-eslint' version + 'no-dupe-class-members': 'off', + '@typescript-eslint/no-dupe-class-members': + baseES6Rules['no-dupe-class-members'], + + // Replace Airbnb 'no-empty-function' rule with '@typescript-eslint' version + 'no-empty-function': 'off', + '@typescript-eslint/no-empty-function': + baseBestPracticesRules['no-empty-function'], + + // Replace Airbnb 'no-extra-parens' rule with '@typescript-eslint' version + 'no-extra-parens': 'off', + '@typescript-eslint/no-extra-parens': baseErrorsRules['no-extra-parens'], + + // Replace Airbnb 'no-extra-semi' rule with '@typescript-eslint' version + 'no-extra-semi': 'off', + '@typescript-eslint/no-extra-semi': baseErrorsRules['no-extra-semi'], + + // Replace Airbnb 'no-implied-eval' and 'no-new-func' rules with '@typescript-eslint' version + 'no-implied-eval': 'off', + 'no-new-func': 'off', + '@typescript-eslint/no-implied-eval': + baseBestPracticesRules['no-implied-eval'], + + // Replace Airbnb 'no-loss-of-precision' rule with '@typescript-eslint' version + 'no-loss-of-precision': 'off', + '@typescript-eslint/no-loss-of-precision': + baseErrorsRules['no-loss-of-precision'], + + // Replace Airbnb 'no-loop-func' rule with '@typescript-eslint' version + 'no-loop-func': 'off', + '@typescript-eslint/no-loop-func': baseBestPracticesRules['no-loop-func'], + + // Replace Airbnb 'no-magic-numbers' rule with '@typescript-eslint' version + 'no-magic-numbers': 'off', + '@typescript-eslint/no-magic-numbers': + baseBestPracticesRules['no-magic-numbers'], + + // Replace Airbnb 'no-redeclare' rule with '@typescript-eslint' version + 'no-redeclare': 'off', + '@typescript-eslint/no-redeclare': baseBestPracticesRules['no-redeclare'], + + // Replace Airbnb 'no-shadow' rule with '@typescript-eslint' version + 'no-shadow': 'off', + '@typescript-eslint/no-shadow': baseVariablesRules['no-shadow'], + + // Replace Airbnb 'space-before-blocks' rule with '@typescript-eslint' version + 'space-before-blocks': 'off', + '@typescript-eslint/space-before-blocks': + baseStyleRules['space-before-blocks'], + + // Replace Airbnb 'no-throw-literal' rule with '@typescript-eslint' version + 'no-throw-literal': 'off', + '@typescript-eslint/no-throw-literal': + baseBestPracticesRules['no-throw-literal'], + + // Replace Airbnb 'no-unused-expressions' rule with '@typescript-eslint' version + 'no-unused-expressions': 'off', + '@typescript-eslint/no-unused-expressions': + baseBestPracticesRules['no-unused-expressions'], + + // Replace Airbnb 'no-unused-vars' rule with '@typescript-eslint' version + 'no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': baseVariablesRules['no-unused-vars'], + + // Replace Airbnb 'no-use-before-define' rule with '@typescript-eslint' version + 'no-use-before-define': 'off', + '@typescript-eslint/no-use-before-define': + baseVariablesRules['no-use-before-define'], + + // Replace Airbnb 'no-useless-constructor' rule with '@typescript-eslint' version + 'no-useless-constructor': 'off', + '@typescript-eslint/no-useless-constructor': + baseES6Rules['no-useless-constructor'], + + // Replace Airbnb 'quotes' rule with '@typescript-eslint' version + quotes: 'off', + '@typescript-eslint/quotes': baseStyleRules.quotes, + + // Replace Airbnb 'semi' rule with '@typescript-eslint' version + semi: 'off', + '@typescript-eslint/semi': baseStyleRules.semi, + + // Replace Airbnb 'space-before-function-paren' rule with '@typescript-eslint' version + 'space-before-function-paren': 'off', + '@typescript-eslint/space-before-function-paren': + baseStyleRules['space-before-function-paren'], + + // Replace Airbnb 'require-await' rule with '@typescript-eslint' version + 'require-await': 'off', + '@typescript-eslint/require-await': + baseBestPracticesRules['require-await'], + + // Replace Airbnb 'no-return-await' rule with '@typescript-eslint' version + 'no-return-await': 'off', + '@typescript-eslint/return-await': [ + baseBestPracticesRules['no-return-await'], + 'in-try-catch', + ], + + // Replace Airbnb 'space-infix-ops' rule with '@typescript-eslint' version + 'space-infix-ops': 'off', + '@typescript-eslint/space-infix-ops': baseStyleRules['space-infix-ops'], + + // Replace Airbnb 'object-curly-spacing' rule with '@typescript-eslint' version + 'object-curly-spacing': 'off', + '@typescript-eslint/object-curly-spacing': + baseStyleRules['object-curly-spacing'], + + // Append 'ts' and 'tsx' to Airbnb 'import/extensions' rule + 'import/extensions': [ + baseImportsRules['import/extensions'][0], + baseImportsRules['import/extensions'][1], + { + ...baseImportsRules['import/extensions'][2], + ts: 'never', + tsx: 'never', + }, + ], + + // Append 'ts' and 'tsx' extensions to Airbnb 'import/no-extraneous-dependencies' rule + 'import/no-extraneous-dependencies': [ + baseImportsRules['import/no-extraneous-dependencies'][0], + { + ...baseImportsRules['import/no-extraneous-dependencies'][1], + devDependencies: baseImportsRules[ + 'import/no-extraneous-dependencies' + ][1].devDependencies.reduce((result, devDep) => { + const toAppend = [devDep] + const devDepWithTs = devDep.replace(/\bjs(x?)\b/g, 'ts$1') + if (devDepWithTs !== devDep) { + toAppend.push(devDepWithTs) + } + return [...result, ...toAppend] + }, []), + }, + ], }, }, ] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad9c143b0..04a4b39fb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -163,17 +163,14 @@ importers: specifier: 3.1.0 version: 3.1.0 '@typescript-eslint/eslint-plugin': - specifier: 7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + specifier: 8.10.0 + version: 8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) '@typescript-eslint/parser': - specifier: 7.18.0 - version: 7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + specifier: 8.10.0 + version: 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) eslint-config-airbnb: specifier: 19.0.4 - version: 19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-jsx-a11y@6.10.1(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-react-hooks@5.0.0(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-react@7.37.2(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)) - eslint-config-airbnb-typescript: - specifier: 18.0.0 - version: 18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)) + version: 19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-jsx-a11y@6.10.1(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-react-hooks@5.0.0(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-react@7.37.2(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)) eslint-config-prettier: specifier: 9.1.0 version: 9.1.0(eslint@9.13.0(jiti@1.21.6)) @@ -185,7 +182,7 @@ importers: version: 3.2.0(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: 6.10.1 version: 6.10.1(eslint@9.13.0(jiti@1.21.6)) @@ -1762,22 +1759,22 @@ packages: '@types/yargs@17.0.32': resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - '@typescript-eslint/eslint-plugin@7.18.0': - resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/eslint-plugin@8.10.0': + resolution: {integrity: sha512-phuB3hoP7FFKbRXxjl+DRlQDuJqhpOnm5MmtROXyWi3uS/Xg2ZXqiQfcG2BJHiN4QKyzdOJi3NEn/qTnjUlkmQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@7.18.0': - resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/parser@8.10.0': + resolution: {integrity: sha512-E24l90SxuJhytWJ0pTQydFT46Nk0Z+bsLKo/L8rtQSL93rQ6byd1V/QbDpHUTdLPOMsBCcYXZweADNCfOCmOAg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -1791,15 +1788,14 @@ packages: resolution: {integrity: sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==} engines: {node: ^18.18.0 || >=20.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.10.0': + resolution: {integrity: sha512-AgCaEjhfql9MDKjMUxWvH7HjLeBqMCBfIaBbzzIcBbQPZE7CPh1m6FF+L75NUMJFMLYhCywJXIDEMa3//1A0dw==} + 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} + '@typescript-eslint/type-utils@8.10.0': + resolution: {integrity: sha512-PCpUOpyQSpxBn230yIcK+LeCQaXuxrgCm2Zk1S+PTIRJsEfU6nJ0TtwyH8pIwPK/vJoA+7TZtzyAJSGBz+s/dg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: @@ -1813,9 +1809,9 @@ packages: resolution: {integrity: sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==} engines: {node: ^18.18.0 || >=20.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.10.0': + resolution: {integrity: sha512-k/E48uzsfJCRRbGLapdZgrX52csmWJ2rcowwPvOZ8lwPUv3xW6CcFeJAXgx4uJm+Ge4+a4tFOkdYvSpxhRhg1w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@5.62.0': resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} @@ -1835,9 +1831,9 @@ 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} + '@typescript-eslint/typescript-estree@8.10.0': + resolution: {integrity: sha512-3OE0nlcOHaMvQ8Xu5gAfME3/tWVDpb/HxtpUZ1WeOAksZ/h/gwrBzCklaGzwZT97/lBbbxJ16dMA98JMEngW4w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -1856,11 +1852,11 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@7.18.0': - resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/utils@8.10.0': + resolution: {integrity: sha512-Oq4uZ7JFr9d1ZunE/QKy5egcDRXT/FrS2z/nlxzPua2VHFtmMvFNDvpq1m/hq0ra+T52aUezfcjGRIB7vNJF9w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 '@typescript-eslint/visitor-keys@5.62.0': resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} @@ -1870,9 +1866,9 @@ packages: resolution: {integrity: sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==} engines: {node: ^18.18.0 || >=20.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.10.0': + resolution: {integrity: sha512-k8nekgqwr7FadWk548Lfph6V3r9OVqjzAIVskE7orMZR23cGJjAOVazsZSJW+ElyjfTM4wx/1g88Mi70DDtG9A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vitejs/plugin-react@4.3.3': resolution: {integrity: sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==} @@ -2483,13 +2479,6 @@ 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} @@ -5993,14 +5982,14 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/utils': 7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/type-utils': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.10.0 eslint: 9.13.0(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.1 @@ -6011,13 +6000,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.6 + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.10.0 + debug: 4.3.7 eslint: 9.13.0(jiti@1.21.6) optionalDependencies: typescript: 5.6.3 @@ -6034,28 +6023,28 @@ snapshots: '@typescript-eslint/types': 7.12.0 '@typescript-eslint/visitor-keys': 7.12.0 - '@typescript-eslint/scope-manager@7.18.0': + '@typescript-eslint/scope-manager@8.10.0': dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/visitor-keys': 8.10.0 - '@typescript-eslint/type-utils@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/type-utils@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) - '@typescript-eslint/utils': 7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) debug: 4.3.7 - eslint: 9.13.0(jiti@1.21.6) ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: + - eslint - supports-color '@typescript-eslint/types@5.62.0': {} '@typescript-eslint/types@7.12.0': {} - '@typescript-eslint/types@7.18.0': {} + '@typescript-eslint/types@8.10.0': {} '@typescript-eslint/typescript-estree@5.62.0(typescript@5.6.3)': dependencies: @@ -6086,12 +6075,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.10.0(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/visitor-keys': 8.10.0 debug: 4.3.7 - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.4 semver: 7.6.3 @@ -6127,12 +6116,12 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/utils@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@1.21.6)) - '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.10.0 + '@typescript-eslint/types': 8.10.0 + '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.6.3) eslint: 9.13.0(jiti@1.21.6) transitivePeerDependencies: - supports-color @@ -6148,9 +6137,9 @@ snapshots: '@typescript-eslint/types': 7.12.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.18.0': + '@typescript-eslint/visitor-keys@8.10.0': dependencies: - '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/types': 8.10.0 eslint-visitor-keys: 3.4.3 '@vitejs/plugin-react@4.3.3(vite@5.4.10(@types/node@22.8.7))': @@ -6881,29 +6870,20 @@ snapshots: source-map: 0.6.1 optional: true - eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)): + eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)): dependencies: confusing-browser-globals: 1.0.11 eslint: 9.13.0(jiti@1.21.6) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)) object.assign: 4.1.5 object.entries: 1.1.8 semver: 6.3.1 - eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)): - dependencies: - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/parser': 7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) - eslint: 9.13.0(jiti@1.21.6) - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)) - transitivePeerDependencies: - - eslint-plugin-import - - eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-jsx-a11y@6.10.1(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-react-hooks@5.0.0(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-react@7.37.2(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)): + eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-jsx-a11y@6.10.1(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-react-hooks@5.0.0(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-react@7.37.2(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)): dependencies: eslint: 9.13.0(jiti@1.21.6) - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: 6.10.1(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-react: 7.37.2(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-react-hooks: 5.0.0(eslint@9.13.0(jiti@1.21.6)) @@ -6922,11 +6902,11 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.13.0(jiti@1.21.6)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.13.0(jiti@1.21.6)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) eslint: 9.13.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: @@ -6948,7 +6928,7 @@ snapshots: eslint: 9.13.0(jiti@1.21.6) ignore: 5.3.1 - eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -6959,7 +6939,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.13.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.13.0(jiti@1.21.6)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.13.0(jiti@1.21.6)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -6971,7 +6951,7 @@ snapshots: string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack