From 27c5e0ce5ac9dc6bc61f277ef661ab551e51283c Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Wed, 11 Mar 2026 11:32:49 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9E=95(frontend)=20use=20eslint=20instead=20?= =?UTF-8?q?of=20next=20lint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Version 16 of Next.js stopped supporting eslint natively. We need to implement it ourselves. --- src/frontend/apps/e2e/eslint.config.mjs | 6 - src/frontend/apps/impress/eslint.config.mjs | 9 +- src/frontend/apps/impress/package.json | 3 +- .../eslint-plugin-docs/eslint.config.mjs | 6 - .../packages/eslint-plugin-docs/package.json | 5 +- .../packages/eslint-plugin-docs/playwright.js | 3 - .../packages/eslint-plugin-docs/test.js | 3 - .../packages/eslint-plugin-docs/typescript.js | 2 +- src/frontend/packages/i18n/eslint.config.mjs | 6 - .../servers/y-provider/eslint.config.mjs | 6 - src/frontend/yarn.lock | 186 +++++++++++++++--- 11 files changed, 171 insertions(+), 64 deletions(-) diff --git a/src/frontend/apps/e2e/eslint.config.mjs b/src/frontend/apps/e2e/eslint.config.mjs index 461c01c9..209fbca9 100644 --- a/src/frontend/apps/e2e/eslint.config.mjs +++ b/src/frontend/apps/e2e/eslint.config.mjs @@ -8,12 +8,6 @@ const eslintConfig = defineConfig([ docs: docsPlugin, }, extends: ['docs/playwright'], - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - project: ['./tsconfig.json'], - }, - }, }, ]); diff --git a/src/frontend/apps/impress/eslint.config.mjs b/src/frontend/apps/impress/eslint.config.mjs index ba1fe17f..1c74b711 100644 --- a/src/frontend/apps/impress/eslint.config.mjs +++ b/src/frontend/apps/impress/eslint.config.mjs @@ -2,17 +2,14 @@ import { defineConfig } from '@eslint/config-helpers'; import docsPlugin from 'eslint-plugin-docs'; const eslintConfig = defineConfig([ + { + ignores: ['.next/**', 'out/**', 'public/service-worker.js'], + }, { plugins: { docs: docsPlugin, }, extends: ['docs/next'], - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - project: ['./tsconfig.json'], - }, - }, settings: { next: { rootDir: import.meta.dirname, diff --git a/src/frontend/apps/impress/package.json b/src/frontend/apps/impress/package.json index 79916349..b4802275 100644 --- a/src/frontend/apps/impress/package.json +++ b/src/frontend/apps/impress/package.json @@ -14,7 +14,8 @@ "build:ci": "cp .env.development .env.local && yarn build", "build-theme": "cunningham -g css,ts -o src/cunningham --utility-classes && yarn prettier && yarn stylelint --fix", "start": "npx -y serve@latest out", - "lint": "tsc --noEmit && next lint", + "lint": "tsc --noEmit && eslint .", + "lint:verbose": "cross-env DEBUG=\"eslint:cli-engine,eslint:linter\" eslint .", "prettier": "prettier --write .", "stylelint": "stylelint \"**/*.css\"", "test": "vitest", diff --git a/src/frontend/packages/eslint-plugin-docs/eslint.config.mjs b/src/frontend/packages/eslint-plugin-docs/eslint.config.mjs index ab061a79..96bc53d9 100644 --- a/src/frontend/packages/eslint-plugin-docs/eslint.config.mjs +++ b/src/frontend/packages/eslint-plugin-docs/eslint.config.mjs @@ -8,12 +8,6 @@ const eslintConfig = defineConfig([ docs: docsPlugin, }, extends: ['docs/base'], - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - project: ['./tsconfig.json'], - }, - }, rules: { '@next/next/no-html-link-for-pages': 'off', }, diff --git a/src/frontend/packages/eslint-plugin-docs/package.json b/src/frontend/packages/eslint-plugin-docs/package.json index ad4f98d6..1acbc638 100644 --- a/src/frontend/packages/eslint-plugin-docs/package.json +++ b/src/frontend/packages/eslint-plugin-docs/package.json @@ -18,13 +18,14 @@ }, "dependencies": { "@eslint/js": "10.0.1", - "@next/eslint-plugin-next": "15.5.10", + "@next/eslint-plugin-next": "16.1.6", "@tanstack/eslint-plugin-query": "5.91.4", "@typescript-eslint/eslint-plugin": "8.56.0", "@typescript-eslint/parser": "8.56.0", "@typescript-eslint/utils": "8.56.0", "@vitest/eslint-plugin": "1.6.9", - "eslint-config-next": "15.5.10", + "eslint-config-next": "16.1.6", + "eslint-plugin-react-hooks": "5.2.0", "eslint-config-prettier": "10.1.8", "eslint-plugin-import": "2.32.0", "eslint-plugin-jest": "29.15.0", diff --git a/src/frontend/packages/eslint-plugin-docs/playwright.js b/src/frontend/packages/eslint-plugin-docs/playwright.js index f3e79825..94fe7eab 100644 --- a/src/frontend/packages/eslint-plugin-docs/playwright.js +++ b/src/frontend/packages/eslint-plugin-docs/playwright.js @@ -9,9 +9,6 @@ const playwrightConfig = { }, languageOptions: { parser: typescriptParser, - parserOptions: { - project: true, - }, }, files: [ '**/*.spec.ts', diff --git a/src/frontend/packages/eslint-plugin-docs/test.js b/src/frontend/packages/eslint-plugin-docs/test.js index 523421a2..ae3ba242 100644 --- a/src/frontend/packages/eslint-plugin-docs/test.js +++ b/src/frontend/packages/eslint-plugin-docs/test.js @@ -14,9 +14,6 @@ const testConfig = { ], languageOptions: { parser: typescriptParser, - parserOptions: { - project: true, - }, globals: { describe: 'readonly', it: 'readonly', diff --git a/src/frontend/packages/eslint-plugin-docs/typescript.js b/src/frontend/packages/eslint-plugin-docs/typescript.js index c28f058b..9f129c3c 100644 --- a/src/frontend/packages/eslint-plugin-docs/typescript.js +++ b/src/frontend/packages/eslint-plugin-docs/typescript.js @@ -15,7 +15,7 @@ const typescriptConfig = { languageOptions: { parser: typescriptParser, parserOptions: { - project: true, + projectService: true, }, }, plugins: { diff --git a/src/frontend/packages/i18n/eslint.config.mjs b/src/frontend/packages/i18n/eslint.config.mjs index 620d4857..41f366c5 100644 --- a/src/frontend/packages/i18n/eslint.config.mjs +++ b/src/frontend/packages/i18n/eslint.config.mjs @@ -8,12 +8,6 @@ const eslintConfig = defineConfig([ docs: docsPlugin, }, extends: ['docs/next', 'docs/test'], - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - project: ['./tsconfig.json'], - }, - }, }, ]); diff --git a/src/frontend/servers/y-provider/eslint.config.mjs b/src/frontend/servers/y-provider/eslint.config.mjs index 92bd0338..0fb15a31 100644 --- a/src/frontend/servers/y-provider/eslint.config.mjs +++ b/src/frontend/servers/y-provider/eslint.config.mjs @@ -11,12 +11,6 @@ const eslintConfig = defineConfig([ docs: docsPlugin, }, extends: ['docs/next'], - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - project: ['./tsconfig.json'], - }, - }, rules: { '@next/next/no-html-link-for-pages': 'off', }, diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock index 40ab1638..a5c34178 100644 --- a/src/frontend/yarn.lock +++ b/src/frontend/yarn.lock @@ -437,7 +437,7 @@ dependencies: "@babel/types" "^7.28.4" -"@babel/parser@^7.28.6", "@babel/parser@^7.29.0": +"@babel/parser@^7.24.4", "@babel/parser@^7.28.6", "@babel/parser@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.0.tgz#669ef345add7d057e92b7ed15f0bac07611831b6" integrity sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww== @@ -2873,10 +2873,10 @@ resolved "https://registry.yarnpkg.com/@next/env/-/env-16.1.6.tgz#0f85979498249a94ef606ef535042a831f905e89" integrity sha512-N1ySLuZjnAtN3kFnwhAwPvZah8RJxKasD7x1f8shFqhncnWZn4JMfg37diLNuoHsLAlrDfM3g4mawVdtAG8XLQ== -"@next/eslint-plugin-next@15.5.10": - version "15.5.10" - resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-15.5.10.tgz#a8f03dfeed6895634ed99a4121fd168c2cf27600" - integrity sha512-fDpxcy6G7Il4lQVVsaJD0fdC2/+SmuBGTF+edRLlsR4ZFOE3W2VyzrrGYdg/pHW8TydeAdSVM+mIzITGtZ3yWA== +"@next/eslint-plugin-next@16.1.6": + version "16.1.6" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-16.1.6.tgz#73b56b01c9db506998bd1e2d303c2605b0a1b7b0" + integrity sha512-/Qq3PTagA6+nYVfryAtQ7/9FEr/6YVyvOtl6rZnGsbReGLf0jZU6gkpr1FuChAQpvV46a78p4cmHOVP8mbfSMQ== dependencies: fast-glob "3.3.1" @@ -6391,11 +6391,6 @@ resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== -"@rushstack/eslint-patch@^1.10.3": - version "1.15.0" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.15.0.tgz#8184bcb37791e6d3c3c13a9bfbe4af263f66665f" - integrity sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw== - "@sentry-internal/browser-utils@10.38.0": version "10.38.0" resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-10.38.0.tgz#576780062808bd3bae21476393f50caf9acbe12f" @@ -7555,7 +7550,7 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@8.56.0", "@typescript-eslint/eslint-plugin@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": +"@typescript-eslint/eslint-plugin@8.56.0": version "8.56.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.0.tgz#5aec3db807a6b8437ea5d5ebf7bd16b4119aba8d" integrity sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw== @@ -7569,7 +7564,21 @@ natural-compare "^1.4.0" ts-api-utils "^2.4.0" -"@typescript-eslint/parser@8.56.0", "@typescript-eslint/parser@^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0": +"@typescript-eslint/eslint-plugin@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.57.0.tgz#6e4085604ab63f55b3dcc61ce2c16965b2c36374" + integrity sha512-qeu4rTHR3/IaFORbD16gmjq9+rEs9fGKdX0kF6BKSfi+gCuG3RCKLlSBYzn/bGsY9Tj7KE/DAQStbp8AHJGHEQ== + dependencies: + "@eslint-community/regexpp" "^4.12.2" + "@typescript-eslint/scope-manager" "8.57.0" + "@typescript-eslint/type-utils" "8.57.0" + "@typescript-eslint/utils" "8.57.0" + "@typescript-eslint/visitor-keys" "8.57.0" + ignore "^7.0.5" + natural-compare "^1.4.0" + ts-api-utils "^2.4.0" + +"@typescript-eslint/parser@8.56.0": version "8.56.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.56.0.tgz#8ecff1678b8b1a742d29c446ccf5eeea7f971d72" integrity sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg== @@ -7580,6 +7589,17 @@ "@typescript-eslint/visitor-keys" "8.56.0" debug "^4.4.3" +"@typescript-eslint/parser@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.57.0.tgz#444c57a943e8b04f255cda18a94c8e023b46b08c" + integrity sha512-XZzOmihLIr8AD1b9hL9ccNMzEMWt/dE2u7NyTY9jJG6YNiNthaD5XtUHVF2uCXZ15ng+z2hT3MVuxnUYhq6k1g== + dependencies: + "@typescript-eslint/scope-manager" "8.57.0" + "@typescript-eslint/types" "8.57.0" + "@typescript-eslint/typescript-estree" "8.57.0" + "@typescript-eslint/visitor-keys" "8.57.0" + debug "^4.4.3" + "@typescript-eslint/project-service@8.56.0": version "8.56.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.56.0.tgz#bb8562fecd8f7922e676fc6a1189c20dd7991d73" @@ -7589,6 +7609,15 @@ "@typescript-eslint/types" "^8.56.0" debug "^4.4.3" +"@typescript-eslint/project-service@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.57.0.tgz#2014ed527bcd0eff8aecb7e44879ae3150604ab3" + integrity sha512-pR+dK0BlxCLxtWfaKQWtYr7MhKmzqZxuii+ZjuFlZlIGRZm22HnXFqa2eY+90MUz8/i80YJmzFGDUsi8dMOV5w== + dependencies: + "@typescript-eslint/tsconfig-utils" "^8.57.0" + "@typescript-eslint/types" "^8.57.0" + debug "^4.4.3" + "@typescript-eslint/scope-manager@8.56.0", "@typescript-eslint/scope-manager@^8.55.0": version "8.56.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.56.0.tgz#604030a4c6433df3728effdd441d47f45a86edb4" @@ -7597,6 +7626,14 @@ "@typescript-eslint/types" "8.56.0" "@typescript-eslint/visitor-keys" "8.56.0" +"@typescript-eslint/scope-manager@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.57.0.tgz#7d2a2aeaaef2ae70891b21939fadb4cb0b19f840" + integrity sha512-nvExQqAHF01lUM66MskSaZulpPL5pgy5hI5RfrxviLgzZVffB5yYzw27uK/ft8QnKXI2X0LBrHJFr1TaZtAibw== + dependencies: + "@typescript-eslint/types" "8.57.0" + "@typescript-eslint/visitor-keys" "8.57.0" + "@typescript-eslint/scope-manager@^8.51.0": version "8.52.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz#9884ff690fad30380ccabfb08af1ac200af6b4e5" @@ -7610,6 +7647,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.0.tgz#2538ce83cbc376e685487960cbb24b65fe2abc4e" integrity sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg== +"@typescript-eslint/tsconfig-utils@8.57.0", "@typescript-eslint/tsconfig-utils@^8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.57.0.tgz#cf2f2822af3887d25dd325b6bea6c3f60a83a0b4" + integrity sha512-LtXRihc5ytjJIQEH+xqjB0+YgsV4/tW35XKX3GTZHpWtcC8SPkT/d4tqdf1cKtesryHm2bgp6l555NYcT2NLvA== + "@typescript-eslint/type-utils@8.56.0": version "8.56.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.56.0.tgz#72b4edc1fc73988998f1632b3ec99c2a66eaac6e" @@ -7621,6 +7663,17 @@ debug "^4.4.3" ts-api-utils "^2.4.0" +"@typescript-eslint/type-utils@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.57.0.tgz#2877af4c2e8f0998b93a07dad1c34ce1bb669448" + integrity sha512-yjgh7gmDcJ1+TcEg8x3uWQmn8ifvSupnPfjP21twPKrDP/pTHlEQgmKcitzF/rzPSmv7QjJ90vRpN4U+zoUjwQ== + dependencies: + "@typescript-eslint/types" "8.57.0" + "@typescript-eslint/typescript-estree" "8.57.0" + "@typescript-eslint/utils" "8.57.0" + debug "^4.4.3" + ts-api-utils "^2.4.0" + "@typescript-eslint/types@8.52.0": version "8.52.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.52.0.tgz#1eb0a16b324824bc23b89d109a267c38c9213c4a" @@ -7631,6 +7684,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.56.0.tgz#a2444011b9a98ca13d70411d2cbfed5443b3526a" integrity sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ== +"@typescript-eslint/types@8.57.0", "@typescript-eslint/types@^8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.57.0.tgz#4fa5385ffd1cd161fa5b9dce93e0493d491b8dc6" + integrity sha512-dTLI8PEXhjUC7B9Kre+u0XznO696BhXcTlOn0/6kf1fHaQW8+VjJAVHJ3eTI14ZapTxdkOmc80HblPQLaEeJdg== + "@typescript-eslint/typescript-estree@8.56.0": version "8.56.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.0.tgz#fadbc74c14c5bac947db04980ff58bb178701c2e" @@ -7646,6 +7704,21 @@ tinyglobby "^0.2.15" ts-api-utils "^2.4.0" +"@typescript-eslint/typescript-estree@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.57.0.tgz#e0e4a89bfebb207de314826df876e2dabc7dea04" + integrity sha512-m7faHcyVg0BT3VdYTlX8GdJEM7COexXxS6KqGopxdtkQRvBanK377QDHr4W/vIPAR+ah9+B/RclSW5ldVniO1Q== + dependencies: + "@typescript-eslint/project-service" "8.57.0" + "@typescript-eslint/tsconfig-utils" "8.57.0" + "@typescript-eslint/types" "8.57.0" + "@typescript-eslint/visitor-keys" "8.57.0" + debug "^4.4.3" + minimatch "^10.2.2" + semver "^7.7.3" + tinyglobby "^0.2.15" + ts-api-utils "^2.4.0" + "@typescript-eslint/utils@8.56.0", "@typescript-eslint/utils@^8.0.0", "@typescript-eslint/utils@^8.48.0", "@typescript-eslint/utils@^8.51.0", "@typescript-eslint/utils@^8.55.0": version "8.56.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.56.0.tgz#063ce6f702ec603de1b83ee795ed5e877d6f7841" @@ -7656,6 +7729,16 @@ "@typescript-eslint/types" "8.56.0" "@typescript-eslint/typescript-estree" "8.56.0" +"@typescript-eslint/utils@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.57.0.tgz#c7193385b44529b788210d20c94c11de79ad3498" + integrity sha512-5iIHvpD3CZe06riAsbNxxreP+MuYgVUsV0n4bwLH//VJmgtt54sQeY2GszntJ4BjYCpMzrfVh2SBnUQTtys2lQ== + dependencies: + "@eslint-community/eslint-utils" "^4.9.1" + "@typescript-eslint/scope-manager" "8.57.0" + "@typescript-eslint/types" "8.57.0" + "@typescript-eslint/typescript-estree" "8.57.0" + "@typescript-eslint/visitor-keys@8.52.0": version "8.52.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz#50361c48a6302676230fe498f80f6decce4bf673" @@ -7672,6 +7755,14 @@ "@typescript-eslint/types" "8.56.0" eslint-visitor-keys "^5.0.0" +"@typescript-eslint/visitor-keys@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.57.0.tgz#23aea662279bb66209700854453807a119350f85" + integrity sha512-zm6xx8UT/Xy2oSr2ZXD0pZo7Jx2XsCoID2IUh9YSTFRu7z+WdwYTRk6LhUftm1crwqbuoF6I8zAFeCMw0YjwDg== + dependencies: + "@typescript-eslint/types" "8.57.0" + eslint-visitor-keys "^5.0.0" + "@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" @@ -9884,21 +9975,20 @@ escape-string-regexp@^5.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== -eslint-config-next@15.5.10: - version "15.5.10" - resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-15.5.10.tgz#404fbefd4675245d9dfaa7fb69813001b798e170" - integrity sha512-AeYOVGiSbIfH4KXFT3d0fIDm7yTslR/AWGoHLdsXQ99MH0zFWmkRIin1H7I9SFlkKgf4PKm9ncsyWHq1aAfHBA== +eslint-config-next@16.1.6: + version "16.1.6" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-16.1.6.tgz#75dd33bf32eb34b1e5be59f546e3c808429bab41" + integrity sha512-vKq40io2B0XtkkNDYyleATwblNt8xuh3FWp8SpSz3pt7P01OkBFlKsJZ2mWt5WsCySlDQLckb1zMY9yE9Qy0LA== dependencies: - "@next/eslint-plugin-next" "15.5.10" - "@rushstack/eslint-patch" "^1.10.3" - "@typescript-eslint/eslint-plugin" "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0" - "@typescript-eslint/parser" "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "@next/eslint-plugin-next" "16.1.6" eslint-import-resolver-node "^0.3.6" eslint-import-resolver-typescript "^3.5.2" - eslint-plugin-import "^2.31.0" + eslint-plugin-import "^2.32.0" eslint-plugin-jsx-a11y "^6.10.0" eslint-plugin-react "^7.37.0" - eslint-plugin-react-hooks "^5.0.0" + eslint-plugin-react-hooks "^7.0.0" + globals "16.4.0" + typescript-eslint "^8.46.0" eslint-config-prettier@10.1.8: version "10.1.8" @@ -9934,7 +10024,7 @@ eslint-module-utils@^2.12.1: dependencies: debug "^3.2.7" -eslint-plugin-import@2.32.0, eslint-plugin-import@^2.31.0: +eslint-plugin-import@2.32.0, eslint-plugin-import@^2.32.0: version "2.32.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz#602b55faa6e4caeaa5e970c198b5c00a37708980" integrity sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA== @@ -10002,11 +10092,22 @@ eslint-plugin-prettier@5.5.5: prettier-linter-helpers "^1.0.1" synckit "^0.11.12" -eslint-plugin-react-hooks@^5.0.0: +eslint-plugin-react-hooks@5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz#1be0080901e6ac31ce7971beed3d3ec0a423d9e3" integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg== +eslint-plugin-react-hooks@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz#66e258db58ece50723ef20cc159f8aa908219169" + integrity sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA== + dependencies: + "@babel/core" "^7.24.4" + "@babel/parser" "^7.24.4" + hermes-parser "^0.25.1" + zod "^3.25.0 || ^4.0.0" + zod-validation-error "^3.5.0 || ^4.0.0" + eslint-plugin-react@7.37.5, eslint-plugin-react@^7.37.0: version "7.37.5" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz#2975511472bdda1b272b34d779335c9b0e877065" @@ -10781,6 +10882,11 @@ global-prefix@^3.0.0: kind-of "^6.0.2" which "^1.3.1" +globals@16.4.0: + version "16.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-16.4.0.tgz#574bc7e72993d40cf27cf6c241f324ee77808e51" + integrity sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw== + globals@^16.4.0: version "16.5.0" resolved "https://registry.yarnpkg.com/globals/-/globals-16.5.0.tgz#ccf1594a437b97653b2be13ed4d8f5c9f850cac1" @@ -11094,6 +11200,18 @@ heimdalljs@^0.2.6: dependencies: rsvp "~3.2.1" +hermes-estree@0.25.1: + version "0.25.1" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.25.1.tgz#6aeec17d1983b4eabf69721f3aa3eb705b17f480" + integrity sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw== + +hermes-parser@^0.25.1: + version "0.25.1" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.25.1.tgz#5be0e487b2090886c62bd8a11724cd766d5f54d1" + integrity sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA== + dependencies: + hermes-estree "0.25.1" + hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" @@ -16343,6 +16461,16 @@ typed-array-length@^1.0.7: possible-typed-array-names "^1.0.0" reflect.getprototypeof "^1.0.6" +typescript-eslint@^8.46.0: + version "8.57.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.57.0.tgz#82764795d316ed1c72a489727c43c3a87373f100" + integrity sha512-W8GcigEMEeB07xEZol8oJ26rigm3+bfPHxHvwbYUlu1fUDsGuQ7Hiskx5xGW/xM4USc9Ephe3jtv7ZYPQntHeA== + dependencies: + "@typescript-eslint/eslint-plugin" "8.57.0" + "@typescript-eslint/parser" "8.57.0" + "@typescript-eslint/typescript-estree" "8.57.0" + "@typescript-eslint/utils" "8.57.0" + typescript@*, typescript@5.9.3, typescript@^5.0.4: version "5.9.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" @@ -17400,11 +17528,21 @@ yoga-layout@^3.2.1: resolved "https://registry.yarnpkg.com/yoga-layout/-/yoga-layout-3.2.1.tgz#d2d1ba06f0e81c2eb650c3e5ad8b0b4adde1e843" integrity sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ== +"zod-validation-error@^3.5.0 || ^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-4.0.2.tgz#bc605eba49ce0fcd598c127fee1c236be3f22918" + integrity sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ== + zod@3.25.28: version "3.25.28" resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.28.tgz#8ab13d04afa05933598fd9fca32490ca92c7ea3a" integrity sha512-/nt/67WYKnr5by3YS7LroZJbtcCBurDKKPBPWWzaxvVCGuG/NOsiKkrjoOhI8mJ+SQUXEbUzeB3S+6XDUEEj7Q== +"zod@^3.25.0 || ^4.0.0": + version "4.3.6" + resolved "https://registry.yarnpkg.com/zod/-/zod-4.3.6.tgz#89c56e0aa7d2b05107d894412227087885ab112a" + integrity sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg== + zustand@5.0.11: version "5.0.11" resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.11.tgz#99f912e590de1ca9ce6c6d1cab6cdb1f034ab494"