Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 2, 2024

Note

Mend has cancelled the proposed renaming of the Renovate GitHub app being renamed to mend[bot].

This notice will be removed on 2025-10-07.


This PR contains the following updates:

Package Change Age Confidence
eslint (source) 8.56.0 -> 9.37.0 age confidence

Release Notes

eslint/eslint (eslint)

v9.37.0

Compare Source

v9.36.0

Compare Source

v9.35.0

Compare Source

v9.34.0

Compare Source

v9.33.0

Compare Source

v9.32.0

Compare Source

v9.31.0

Compare Source

v9.30.1

Compare Source

v9.30.0

Compare Source

v9.29.0

Compare Source

v9.28.0

Compare Source

v9.27.0

Compare Source

v9.26.0

Compare Source

v9.25.1

Compare Source

v9.25.0

Compare Source

v9.24.0

Compare Source

v9.23.0

Compare Source

v9.22.0

Compare Source

v9.21.0

Compare Source

Features
Bug Fixes
  • db5340d fix: update missing plugin message template (#​19445) (Milos Djermanovic)
  • d8ffdd4 fix: do not exit process on rule crash (#​19436) (Francesco Trotta)
Documentation
  • c5561ea docs: Update README (GitHub Actions Bot)
  • 80b0485 docs: replace var with let and const in rule example (#​19434) (Tanuj Kanti)
  • f67d5e8 docs: Update README (GitHub Actions Bot)
  • 75afc61 docs: Update README (GitHub Actions Bot)
  • 0636cab docs: Update Eleventy from v2 to v3 (#​19415) (Amaresh S M)
  • dd7d930 docs: Update README (GitHub Actions Bot)
Chores
  • a8c9a9f chore: update @eslint/eslintrc and @eslint/js (#​19453) (Francesco Trotta)
  • 265e0cf chore: package.json update for @​eslint/js release (Jenkins)
  • 3401b85 test: add test for Rule.ReportDescriptor type (#​19449) (Francesco Trotta)
  • e497aa7 chore: update rewrite dependencies (#​19448) (Francesco Trotta)
  • dab5478 chore: better error message for missing plugin in config (#​19402) (Tanuj Kanti)
  • ebfe2eb chore: set js language for bug report issue config block (#​19439) (Josh Goldberg ✨)
  • 5fd211d test: processors can return subpaths (#​19425) (Milos Djermanovic)

v9.20.1

Compare Source

Bug Fixes

Documentation

  • fe3ccb2 docs: allow typing in search box while dropdown is open (#​19424) (Amaresh S M)
  • 93c78a5 docs: Add instructions for pnpm compat (#​19422) (Nicholas C. Zakas)
  • b476a93 docs: Fix Keyboard Navigation for Search Results (#​19416) (Amaresh S M)
  • ccb60c0 docs: Update README (GitHub Actions Bot)

v9.20.0

Compare Source

Features
  • e89a54a feat: change behavior of inactive flags (#​19386) (Milos Djermanovic)
Bug Fixes
  • 91d4d9f fix: Bring types in sync with @​eslint/core (#​19157) (Nicholas C. Zakas)
  • fa25c7a fix: Emit warning when empty config file is used (#​19399) (Nicholas C. Zakas)
  • 31a9fd0 fix: Clearer error message for wrong plugin format (#​19380) (Nicholas C. Zakas)
  • 61d99e3 fix: Better error message for unserializable parser (#​19384) (Nicholas C. Zakas)
  • db1b9a6 fix: Ensure module scope is checked for references in consistent-this (#​19383) (Nicholas C. Zakas)
  • 8bcd820 fix: arrow-body-style crash with single-token body (#​19379) (Milos Djermanovic)
Documentation
  • b7012c8 docs: rewrite examples with var using let and const (#​19407) (Mueez Javaid Hashmi)
  • 6406376 docs: Update README (GitHub Actions Bot)
  • 350f2b9 docs: rewrite some examples with var using let and const (#​19404) (Mueez Javaid Hashmi)
  • 93c325a docs: rewrite examples with var using let and const (#​19398) (Mueez Javaid Hashmi)
  • 56ff404 docs: replace var with let or const in rules docs (#​19396) (Daniel Harbrueger)
  • 4053226 docs: change sourceType in no-eval examples (#​19393) (Milos Djermanovic)
  • 1324af0 docs: replace var with let and const in rules docs (#​19392) (Daniel Harbrueger)
  • 8b87e00 docs: replace var with const and let in rules (#​19389) (Tanuj Kanti)
  • 758c66b docs: Explain what frozen rules mean (#​19382) (Nicholas C. Zakas)
  • 0ef8bb8 docs: additional checks for rule examples (#​19358) (Milos Djermanovic)
  • 58ab2f6 docs: fix order of installation steps in getting started (#​19326) (Tanuj Kanti)
Chores

v9.19.0

Compare Source

Features
  • 1637b8e feat: add --report-unused-inline-configs (#​19201) (Josh Goldberg ✨)
Bug Fixes
  • aae6717 fix: sync rule type header comments automatically (#​19276) (Francesco Trotta)
Documentation
  • cfea9ab docs: Clarify overrideConfig option (#​19370) (Nicholas C. Zakas)
  • 2b84f66 docs: Update README (#​19362) (Nicholas C. Zakas)
  • 044f93c docs: clarify frozen rule description (#​19351) (Pavel)
  • 797ee7c docs: fix Bluesky links (#​19368) (Milos Djermanovic)
  • 81a9c0e docs: Update README (GitHub Actions Bot)
  • 093fb3d docs: replace var with let and const in rule examples (#​19365) (Tanuj Kanti)
  • 417de32 docs: replace var with const in rule examples (#​19352) (jj)
  • 17f2aae docs: update getting-started config to match default generated config (#​19308) (0xDev)
  • 8a0a5a8 docs: better global ignores instruction (#​19297) (Jacopo Marrone)
  • 6671a2c docs: Update README (GitHub Actions Bot)
  • e39d3f2 docs: fix divider for rule category (#​19264) (Tanuj Kanti)
  • e0cf53f docs: fix search result box position for small screens (#​19328) (Tanuj Kanti)
  • f92a680 docs: replace var with let or const in rule examples (#​19331) (Ravi Teja Kolla)
  • b04b84b docs: revert accidental changes in TS config files docs (#​19336) (Francesco Trotta)
Chores

v9.18.0

Compare Source

Features
  • e84e6e2 feat: Report allowed methods for no-console rule (#​19306) (Anna Bocharova)
  • 8efc2d0 feat: unflag TypeScript config files (#​19266) (Francesco Trotta)
  • 87a9352 feat: check imports and class names in no-shadow-restricted-names (#​19272) (Milos Djermanovic)
Bug Fixes
Documentation
  • d9c23c5 docs: replace var with const in rule examples (#​19325) (Tanuj Kanti)
  • 8e1a898 docs: add tabs to cli code blocks (#​18784) (Jay)
  • f3aeefb docs: rewrite using let and const in rule examples (#​19320) (PoloSpark)
  • 0b680b3 docs: Update README (GitHub Actions Bot)
  • 98c86a9 docs: Edit this page button link to different branches (#​19228) (Tanuj Kanti)
  • 6947901 docs: remove hardcoded edit link (#​19323) (Milos Djermanovic)
  • 03f2f44 docs: rewrite var with const in rules examples (#​19317) (Thiago)
  • 26c3003 docs: Clarify dangers of eslint:all (#​19318) (Nicholas C. Zakas)
  • c038257 docs: add eqeqeq in related rules to no-eq-null (#​19310) (루밀LuMir)
  • 89c8fc5 docs: rewrite examples with var using let and const (#​19315) (Amaresh S M)
  • db574c4 docs: add missing backticks to no-void (#​19313) (루밀LuMir)
  • 8d943c3 docs: add missing backticks to default-case-last (#​19311) (루밀LuMir)
  • 36ef8bb docs: rewrite examples with var using let and const (#​19298) (Amaresh S M)
  • 1610c9e docs: add missing backticks to no-else-return (#​19309) (루밀LuMir)
  • df409d8 docs: Update README (GitHub Actions Bot)
  • 2e84213 docs: Fix Horizontal Scroll Overflow in Rule Description on Mobile View (#​19304) (Amaresh S M)
  • 6e7361b docs: replace var with let and const in rule example (#​19302) (Tanuj Kanti)
  • 069af5e docs: rewrite var using const in rule examples (#​19303) (Kim GyeonWon)
  • 064e35d docs: remove 'I hope to' comments from scope-manager-interface (#​19300) (Josh Goldberg ✨)
  • 8e00305 docs: replace var with const in rule examples (#​19299) (Tanuj Kanti)
  • a559009 docs: Add warning about extending core rules (#​19295) (Nicholas C. Zakas)
  • 0bfdf6c docs: Update README (GitHub Actions Bot)
  • ce0b9ff docs: add navigation link for code explorer (#​19285) (Tanuj Kanti)
  • e255cc9 docs: add bluesky icon to footer (#​19290) (Tanuj Kanti)
  • 5d64851 docs: remove outdated info about environments (#​19296) (Francesco Trotta)
  • eec01f0 docs: switch rule examples config format to languageOptions (#​19277) (Milos Djermanovic)
  • b36ca0a docs: Fixing Focus Order by Rearranging Element Sequence (#​19241) (Amaresh S M)
  • d122c8a docs: add missing backticks to sort-imports (#​19282) (루밀LuMir)
  • 0367a70 docs: update custom parser docs (#​19288) (Francesco Trotta)
  • 8c07ebb docs: add border-radius to hX:target selector styles (#​19270) (루밀LuMir)
  • eff7c57 docs: add limitation section in no-loop-func (#​19287) (Tanuj Kanti)
  • 5db226f docs: add missing backticks in various parts of the documentation (#​19269) (루밀LuMir)
  • 789edbb docs: Update README (GitHub Actions Bot)
  • 613c06a docs: mark rules that are frozen with ❄️ (#​19231) (Amaresh S M)
  • 43172ec docs: Update README (GitHub Actions Bot)
  • ac8b3c4 docs: fix description of overrideConfigFile option (#​19262) (Milos Djermanovic)
  • bbb9b46 docs: Update README (GitHub Actions Bot)
  • 995b492 docs: fix inconsistent divider in rule categories box (#​19249) (Tanuj Kanti)
  • f76d05d docs: Refactor search result handling with better event listener cleanup (#​19252) (Amaresh S M)
  • c5f3d7d docs: Update README (GitHub Actions Bot)
Chores

v9.17.0

Compare Source

Features

Bug Fixes

  • 67d683d fix: fix crash when message.fix is nullish (#​19168) (ntnyq)
  • c618707 fix: ignore vars with non-identifier references in no-useless-assignment (#​19200) (YeonJuan)

Documentation

  • 3c22d2a docs: update yoda to Yoda in yoda.md for consistency (#​19230) (루밀LuMir)
  • e0a2203 docs: add missing backticks to no-sequences (#​19233) (루밀LuMir)
  • 4cc4881 docs: Update README (GitHub Actions Bot)
  • 3db6fdf docs: [no-await-in-loop] expand on benefits and inapplicability (#​19211) (Kirk Waiblinger)
  • bf2a4f6 docs: add missing backticks to func-style (#​19227) (루밀LuMir)
  • ba098bd docs: add missing header to prefer-spread (#​19224) (루밀LuMir)
  • b607ae6 docs: update description of no-param-reassign (#​19220) (루밀LuMir)
  • 1eb424d docs: add missing backticks to prefer-destructuring (#​19223) (루밀LuMir)
  • 85998d1 docs: add missing backticks to no-unneeded-ternary (#​19222) (루밀LuMir)
  • b75b32c docs: add missing backticks to no-new-func (#​19219) (루밀LuMir)
  • a7700bc docs: add missing backticks to id-length (#​19217) (루밀LuMir)
  • e2bb429 docs: add missing backticks to complexity.md (#​19214) (루밀LuMir)
  • 045d716 docs: add missing ) to id-denylist (#​19213) (루밀LuMir)
  • 7fe4114 docs: Update README (GitHub Actions Bot)
  • c743ba6 docs: add CSS language to no-restricted-syntax (#​19208) (Milos Djermanovic)
  • 1416d70 docs: add missing backticks to eqeqeq (#​19207) (루밀LuMir)
  • b950c1b docs: add missing backticks to prefer-object-spread (#​19206) (루밀LuMir)
  • 8a941cb docs: update docs and description of require-unicode-regexp (#​19205) (루밀LuMir)
  • cbab228 docs: Update README (GitHub Actions Bot)
  • f2257ce docs: update comments and description of no-script-url (#​19203) (루밀LuMir)
  • 365f0f4 docs: add missing backtick to default-case-last (#​19202) (루밀LuMir)
  • e6b84f5 docs: add missing punctuation in document (#​19161) (루밀LuMir)
  • c88708e docs: replace quote with backtick in description of for-direction (#​19199) (루밀LuMir)
  • a76f233 docs: use higher contrast color tokens for code comments (#​19187) (Josh Goldberg ✨)
  • db19502 docs: Update README (GitHub Actions Bot)

Chores

v9.16.0

Compare Source

Features
  • 8f70eb1 feat: Add ignoreComputedKeys option in sort-keys rule (#​19162) (Milos Djermanovic)
Documentation
  • 9eefc8f docs: fix typos in use-isnan (#​19190) (루밀LuMir)
  • 0c8cea8 docs: switch the order of words in no-unreachable (#​19189) (루밀LuMir)
  • 0c19417 docs: add missing backtick to no-async-promise-executor (#​19188) (루밀LuMir)
  • 8df9276 docs: add backtick in -0 in description of no-compare-neg-zero (#​19186) (루밀LuMir)
  • 7e16e3f docs: fix caseSensitive option's title of sort-keys (#​19183) (Tanuj Kanti)
  • 0c6b842 docs: fix typos in migration-guide.md (#​19180) (루밀LuMir)
  • 353266e docs: fix a typo in debug.md (#​19179) (루밀LuMir)
  • 5ff318a docs: delete unnecessary horizontal rule(---) in nodejs-api (#​19175) (루밀LuMir)
  • 576bcc5 docs: mark more rules as handled by TypeScript (#​19164) (Tanuj Kanti)
  • 742d054 docs: note that no-restricted-syntax can be used with any language (#​19148) (Milos Djermanovic)
Chores

v9.15.0

Compare Source

Features
  • 01557ce feat: Implement Language#normalizeLanguageOptions() (#​19104) (Nicholas C. Zakas)
  • 2edc0e2 feat: add meta.defaultOptions (#​17656) (Josh Goldberg ✨)
  • bdec50e feat: fix no-useless-computed-key false negative with __proto__ (#​19123) (Milos Djermanovic)
  • 3087c9e feat: add meta object to @eslint/js plugin (#​19095) (Francesco Trotta)
Bug Fixes
Documentation
  • d927920 docs: fix styles in no-js mode (#​18916) (Tanuj Kanti)
  • 09bc2a8 docs: Update README (GitHub Actions Bot)
  • 39089c8 docs: add no-useless-computed-key examples with object patterns (#​19109) (Milos Djermanovic)
  • 895c60f docs: add missing messageId property and suggestion properties (#​19122) (fnx)
  • 298625e docs: Change CLI -c to use flat config (#​19103) (Nicholas C. Zakas)
  • 522d8a3 docs: add deprecation on indent, quotes and semi rule types (#​19090) (Marco Pasqualetti)
Chores

v9.14.0

Compare Source

Features
  • 3fa009f feat: add support for Import Attributes and RegExp Modifiers (#​19076) (Milos Djermanovic)
  • b0faee3 feat: add types for the @eslint/js package (#​19010) (Nitin Kumar)
Bug Fixes
  • 24d0172 fix: enable retry concurrency limit for readFile() (#​19077) (Nicholas C. Zakas)
  • b442067 fix: Don't crash when directory is deleted during traversal. (#​19067) (Nicholas C. Zakas)
  • d474443 fix: avoid call stack overflow while processing globs (#​19035) (Livia Medeiros)
Documentation
Build Related
Chores

v9.13.0

Compare Source

Features
  • 381c32b feat: Allow languages to provide defaultLanguageOptions (#​19003) (Milos Djermanovic)
  • bf723bd feat: Improve eslintrc warning message (#​19023) (Milos Djermanovic)
  • 1def4cd feat: drop support for jiti v1.21 (#​18996) (Francesco Trotta)
  • f879be2 feat: export ESLint.defaultConfig ([#​18983](ht

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link

vercel bot commented Jul 2, 2024

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Updated (UTC)
vercel-storage-next-integration-test-suite Ready Ready Preview Oct 3, 2025 8:42pm

Copy link

changeset-bot bot commented Jul 2, 2024

⚠️ No Changeset found

Latest commit: c0e8605

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

socket-security bot commented Aug 13, 2024

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedeslint@​9.37.09810010095100

View full report

Copy link

@vercel vercel bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional Comments:

.eslintrc.js (lines 1-14):

The project uses the deprecated .eslintrc.js configuration format, but is upgrading to ESLint 9.33.0 which has deprecated this format in favor of flat config.

View Details
📝 Patch Details
diff --git a/.eslintrc.js b/.eslintrc.js
index b4f0fee..b2ba719 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,3 +1,5 @@
+// This file is deprecated in favor of eslint.config.js
+// Set ESLINT_USE_FLAT_CONFIG=false to use this file
 const { resolve } = require('node:path');
 
 module.exports = {
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 0000000..0c8b77d
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,18 @@
+const { resolve } = require('node:path');
+const customConfig = require('eslint-config-custom');
+
+module.exports = [
+  // Use the custom config that's already been converted to flat format
+  ...customConfig,
+  // Override with project-specific settings
+  {
+    languageOptions: {
+      parserOptions: {
+        project: [
+          resolve(__dirname, './packages/*/tsconfig.json'),
+          resolve(__dirname, './tooling/*/tsconfig.json'),
+        ],
+      },
+    },
+  },
+];
\ No newline at end of file
diff --git a/package.json b/package.json
index 19e499f..26851c3 100644
--- a/package.json
+++ b/package.json
@@ -30,6 +30,8 @@
   "prettier": "@vercel/style-guide/prettier",
   "devDependencies": {
     "@changesets/cli": "2.28.1",
+    "@eslint/compat": "1.3.2",
+    "@eslint/eslintrc": "3.3.1",
     "@vercel/style-guide": "5.2.0",
     "eslint": "9.33.0",
     "eslint-config-custom": "workspace:*",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ff79e2b..db2ef8c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,6 +11,12 @@ importers:
       '@changesets/cli':
         specifier: 2.28.1
         version: 2.28.1
+      '@eslint/compat':
+        specifier: 1.3.2
+        version: 1.3.2([email protected]([email protected]))
+      '@eslint/eslintrc':
+        specifier: 3.3.1
+        version: 3.3.1
       '@vercel/style-guide':
         specifier: 5.2.0
         version: 5.2.0(@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
@@ -409,6 +415,12 @@ importers:
 
   tooling/eslint-config-custom:
     dependencies:
+      '@eslint/compat':
+        specifier: ^1.3.2
+        version: 1.3.2([email protected]([email protected]))
+      '@eslint/eslintrc':
+        specifier: ^3.3.1
+        version: 3.3.1
       '@vercel/style-guide':
         specifier: 5.2.0
         version: 5.2.0(@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
@@ -1130,6 +1142,15 @@ packages:
     resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
     engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
 
+  '@eslint/[email protected]':
+    resolution: {integrity: sha512-jRNwzTbd6p2Rw4sZ1CgWRS8YMtqG15YyZf7zvb6gY2rB2u6n+2Z+ELW0GtL0fQgyl0pr4Y/BzBfng/BdsereRA==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    peerDependencies:
+      eslint: ^8.40 || 9
+    peerDependenciesMeta:
+      eslint:
+        optional: true
+
   '@eslint/[email protected]':
     resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -2989,10 +3010,6 @@ packages:
     resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
-  [email protected]:
-    resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   [email protected]:
     resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -6575,6 +6592,10 @@ snapshots:
 
   '@eslint-community/[email protected]': {}
 
+  '@eslint/[email protected]([email protected]([email protected]))':
+    optionalDependencies:
+      eslint: 9.33.0([email protected])
+
   '@eslint/[email protected]':
     dependencies:
       '@eslint/object-schema': 2.1.6
@@ -7604,7 +7625,7 @@ snapshots:
   '@typescript-eslint/[email protected]':
     dependencies:
       '@typescript-eslint/types': 8.25.0
-      eslint-visitor-keys: 4.2.0
+      eslint-visitor-keys: 4.2.1
 
   '@ungap/[email protected]': {}
 
@@ -7680,7 +7701,7 @@ snapshots:
 
   [email protected]:
     dependencies:
-      acorn: 8.9.0
+      acorn: 8.15.0
       acorn-walk: 8.2.0
 
   [email protected]([email protected]):
@@ -9257,8 +9278,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]:
@@ -12054,7 +12073,7 @@ snapshots:
 
   [email protected]:
     dependencies:
-      punycode: 2.3.0
+      punycode: 2.3.1
 
   [email protected]: {}
 
diff --git a/tooling/eslint-config-custom/index.js b/tooling/eslint-config-custom/index.js
index f9b7471..562d283 100644
--- a/tooling/eslint-config-custom/index.js
+++ b/tooling/eslint-config-custom/index.js
@@ -1,14 +1,54 @@
-module.exports = {
-  root: true,
-  extends: [
+const { FlatCompat } = require('@eslint/eslintrc');
+const { fixupConfigRules } = require('@eslint/compat');
+
+const compat = new FlatCompat({
+  baseDirectory: __dirname,
+});
+
+try {
+  // Convert the legacy eslintrc config to flat config format
+  const baseConfigs = fixupConfigRules(compat.extends(
     require.resolve('@vercel/style-guide/eslint/node'),
-    require.resolve('@vercel/style-guide/eslint/typescript'),
-  ],
-  ignorePatterns: ['packages/*/dist/**'],
-  overrides: [
+    require.resolve('@vercel/style-guide/eslint/typescript')
+  ));
+
+  const jestConfigs = fixupConfigRules(compat.extends(
+    require.resolve('@vercel/style-guide/eslint/jest')
+  ));
+
+  // Create flat config array
+  module.exports = [
+    ...baseConfigs,
+    // Jest config for test files only
     {
       files: ['**/*.test.ts'],
-      extends: [require.resolve('@vercel/style-guide/eslint/jest')],
+      ...jestConfigs[0],
     },
-  ],
-};
+    // Ignore patterns
+    {
+      ignores: ['packages/*/dist/**'],
+    },
+  ];
+  
+} catch (error) {
+  // Fallback to a basic config if Vercel style guide fails
+  console.warn('Warning: Failed to load @vercel/style-guide configs, using basic ESLint config');
+  
+  module.exports = [
+    {
+      languageOptions: {
+        ecmaVersion: 2022,
+        sourceType: 'module',
+      },
+      rules: {
+        // Basic recommended rules
+        'no-unused-vars': 'error',
+        'no-undef': 'error',
+        'prefer-const': 'error',
+      },
+    },
+    {
+      ignores: ['packages/*/dist/**'],
+    },
+  ];
+}
diff --git a/tooling/eslint-config-custom/package.json b/tooling/eslint-config-custom/package.json
index 984901f..491e4b8 100644
--- a/tooling/eslint-config-custom/package.json
+++ b/tooling/eslint-config-custom/package.json
@@ -5,6 +5,8 @@
   "license": "Apache-2.0",
   "main": "index.js",
   "dependencies": {
+    "@eslint/eslintrc": "^3.3.1",
+    "@eslint/compat": "^1.3.2", 
     "@vercel/style-guide": "5.2.0",
     "eslint": "9.33.0",
     "eslint-config-turbo": "^2.4.4",

Analysis

ESLint 9.0 introduced flat config as the default configuration format and deprecated the legacy .eslintrc.* configuration files. While ESLint 9.x still supports eslintrc files for backward compatibility, it will show deprecation warnings and this support may be removed in future versions.

The current .eslintrc.js configuration uses the legacy format with:

  • extends: ['custom'] syntax
  • parserOptions.project array configuration
  • Traditional eslintrc structure

This upgrade from ESLint 8.56.0 to 9.33.0 represents a major version jump that introduces breaking changes. The project's lint scripts (turbo lint -- --max-warnings=0 and individual package lint scripts) will likely show deprecation warnings or potentially fail depending on ESLint's current deprecation enforcement.


Recommendation

Migrate from .eslintrc.js to flat config format by:

  1. Rename .eslintrc.js to eslint.config.js
  2. Convert to flat config syntax:
const { resolve } = require('node:path');

module.exports = [
  {
    languageOptions: {
      parserOptions: {
        project: [
          resolve(__dirname, './packages/*/tsconfig.json'),
          resolve(__dirname, './tooling/*/tsconfig.json'),
        ],
      },
    },
  },
  // Import and spread the custom config
  ...require('eslint-config-custom'),
];
  1. Update tooling/eslint-config-custom/index.js to export flat config format instead of legacy format
  2. Test the migration by running pnpm lint to ensure all ESLint rules still work correctly
  3. Consider updating package.json engines to specify minimum Node.js version if needed for flat config support

Alternatively, if immediate migration isn't feasible, consider temporarily setting ESLINT_USE_FLAT_CONFIG=false environment variable to suppress warnings, but plan for full migration soon.

Copy link

@vercel vercel bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional Comments:

.eslintrc.js (lines 1-14):

ESLint 9 breaking change: The legacy .eslintrc.js configuration format is deprecated and will not work by default with ESLint 9, potentially causing linting to fail in CI/CD or development environments.

View Details
📝 Patch Details
diff --git a/package.json b/package.json
index 96139e9..6675fee 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
   "devDependencies": {
     "@changesets/cli": "2.28.1",
     "@vercel/style-guide": "5.2.0",
-    "eslint": "9.35.0",
+    "eslint": "8.57.1",
     "eslint-config-custom": "workspace:*",
     "husky": "9.1.7",
     "jest": "29.7.0",
diff --git a/packages/blob/package.json b/packages/blob/package.json
index e08f18f..385c821 100644
--- a/packages/blob/package.json
+++ b/packages/blob/package.json
@@ -72,7 +72,7 @@
     "@types/async-retry": "1.4.9",
     "@types/jest": "29.5.14",
     "@types/node": "22.13.5",
-    "eslint": "9.35.0",
+    "eslint": "8.57.1",
     "eslint-config-custom": "workspace:*",
     "jest": "29.7.0",
     "jest-environment-jsdom": "29.7.0",
diff --git a/packages/edge-config/package.json b/packages/edge-config/package.json
index 96eaf37..5390927 100644
--- a/packages/edge-config/package.json
+++ b/packages/edge-config/package.json
@@ -49,7 +49,7 @@
     "@edge-runtime/types": "2.2.9",
     "@types/jest": "29.5.14",
     "@types/node": "22.13.5",
-    "eslint": "9.35.0",
+    "eslint": "8.57.1",
     "eslint-config-custom": "workspace:*",
     "jest": "29.7.0",
     "jest-fetch-mock": "3.0.3",
diff --git a/packages/kv/package.json b/packages/kv/package.json
index fd41988..e013d4f 100644
--- a/packages/kv/package.json
+++ b/packages/kv/package.json
@@ -51,7 +51,7 @@
     "@edge-runtime/types": "2.2.9",
     "@types/jest": "29.5.14",
     "@types/node": "22.10.7",
-    "eslint": "9.35.0",
+    "eslint": "8.57.1",
     "eslint-config-custom": "workspace:*",
     "husky": "9.1.7",
     "jest": "29.7.0",
diff --git a/packages/postgres-kysely/package.json b/packages/postgres-kysely/package.json
index ccaa434..e0487d6 100644
--- a/packages/postgres-kysely/package.json
+++ b/packages/postgres-kysely/package.json
@@ -54,7 +54,7 @@
     "@types/jest": "29.5.14",
     "@types/node": "22.10.7",
     "@types/ws": "8.5.13",
-    "eslint": "9.35.0",
+    "eslint": "8.57.1",
     "eslint-config-custom": "workspace:*",
     "jest": "29.7.0",
     "kysely": "0.27.5",
diff --git a/packages/postgres/package.json b/packages/postgres/package.json
index e11eee7..6369fc5 100644
--- a/packages/postgres/package.json
+++ b/packages/postgres/package.json
@@ -55,7 +55,7 @@
     "@types/jest": "29.5.14",
     "@types/node": "22.10.7",
     "@types/ws": "8.5.13",
-    "eslint": "9.35.0",
+    "eslint": "8.57.1",
     "eslint-config-custom": "workspace:*",
     "jest": "29.7.0",
     "prettier": "3.4.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7cddef7..542077e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,10 +13,10 @@ importers:
         version: 2.28.1
       '@vercel/style-guide':
         specifier: 5.2.0
-        version: 5.2.0(@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
+        version: 5.2.0(@next/[email protected])([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
       eslint:
-        specifier: 9.35.0
-        version: 9.35.0([email protected])
+        specifier: 8.57.1
+        version: 8.57.1
       eslint-config-custom:
         specifier: workspace:*
         version: link:tooling/eslint-config-custom
@@ -79,8 +79,8 @@ importers:
         specifier: 22.13.5
         version: 22.13.5
       eslint:
-        specifier: 9.35.0
-        version: 9.35.0([email protected])
+        specifier: 8.57.1
+        version: 8.57.1
       eslint-config-custom:
         specifier: workspace:*
         version: link:../../tooling/eslint-config-custom
@@ -125,8 +125,8 @@ importers:
         specifier: 22.13.5
         version: 22.13.5
       eslint:
-        specifier: 9.35.0
-        version: 9.35.0([email protected])
+        specifier: 8.57.1
+        version: 8.57.1
       eslint-config-custom:
         specifier: workspace:*
         version: link:../../tooling/eslint-config-custom
@@ -179,8 +179,8 @@ importers:
         specifier: 22.10.7
         version: 22.10.7
       eslint:
-        specifier: 9.35.0
-        version: 9.35.0([email protected])
+        specifier: 8.57.1
+        version: 8.57.1
       eslint-config-custom:
         specifier: workspace:*
         version: link:../../tooling/eslint-config-custom
@@ -240,8 +240,8 @@ importers:
         specifier: 8.5.13
         version: 8.5.13
       eslint:
-        specifier: 9.35.0
-        version: 9.35.0([email protected])
+        specifier: 8.57.1
+        version: 8.57.1
       eslint-config-custom:
         specifier: workspace:*
         version: link:../../tooling/eslint-config-custom
@@ -292,8 +292,8 @@ importers:
         specifier: 8.5.13
         version: 8.5.13
       eslint:
-        specifier: 9.35.0
-        version: 9.35.0([email protected])
+        specifier: 8.57.1
+        version: 8.57.1
       eslint-config-custom:
         specifier: workspace:*
         version: link:../../tooling/eslint-config-custom
@@ -411,13 +411,13 @@ importers:
     dependencies:
       '@vercel/style-guide':
         specifier: 5.2.0
-        version: 5.2.0(@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
+        version: 5.2.0(@next/[email protected])([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
       eslint:
-        specifier: 9.35.0
-        version: 9.35.0([email protected])
+        specifier: 8.57.0
+        version: 8.57.0
       eslint-config-turbo:
         specifier: ^2.4.4
-        version: 2.4.4([email protected]([email protected]))([email protected])
+        version: 2.4.4([email protected])([email protected])
       typescript:
         specifier: 5.7.3
         version: 5.7.3
@@ -426,10 +426,10 @@ importers:
     devDependencies:
       '@vercel/style-guide':
         specifier: 5.2.0
-        version: 5.2.0(@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
+        version: 5.2.0(@next/[email protected])([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
       eslint:
-        specifier: 9.35.0
-        version: 9.35.0([email protected])
+        specifier: 8.57.1
+        version: 8.57.1
       typescript:
         specifier: 5.7.3
         version: 5.7.3
@@ -1116,12 +1116,6 @@ packages:
     peerDependencies:
       eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
 
-  '@eslint-community/[email protected]':
-    resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-    peerDependencies:
-      eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
   '@eslint-community/[email protected]':
     resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -1136,59 +1130,36 @@ packages:
     resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
     engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
 
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   '@eslint/[email protected]':
     resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   '@eslint/[email protected]':
     resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+  '@eslint/[email protected]':
+    resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
+    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+  '@eslint/[email protected]':
+    resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
+    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
   '@fastify/[email protected]':
     resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
     engines: {node: '>=14'}
 
-  '@humanfs/[email protected]':
-    resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
-    engines: {node: '>=18.18.0'}
-
-  '@humanfs/[email protected]':
-    resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
-    engines: {node: '>=18.18.0'}
-
   '@humanwhocodes/[email protected]':
     resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
     engines: {node: '>=10.10.0'}
     deprecated: Use @eslint/config-array instead
 
+  '@humanwhocodes/[email protected]':
+    resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
+    engines: {node: '>=10.10.0'}
+    deprecated: Use @eslint/config-array instead
+
   '@humanwhocodes/[email protected]':
     resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
     engines: {node: '>=12.22'}
@@ -1197,9 +1168,9 @@ packages:
     resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
     deprecated: Use @eslint/object-schema instead
 
-  '@humanwhocodes/[email protected]':
-    resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
-    engines: {node: '>=18.18'}
+  '@humanwhocodes/[email protected]':
+    resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
+    deprecated: Use @eslint/object-schema instead
 
   '@img/[email protected]':
     resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
@@ -1978,11 +1949,6 @@ packages:
     resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
     engines: {node: '>=0.4.0'}
 
-  [email protected]:
-    resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
-    engines: {node: '>=0.4.0'}
-    hasBin: true
-
   [email protected]:
     resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
     engines: {node: '>=0.4.0'}
@@ -2979,10 +2945,6 @@ packages:
     resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
-  [email protected]:
-    resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   [email protected]:
     resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
     engines: {node: '>=10'}
@@ -2991,10 +2953,6 @@ packages:
     resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
-  [email protected]:
-    resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   [email protected]:
     resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -3005,19 +2963,17 @@ packages:
     deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
     hasBin: true
 
-  [email protected]:
-    resolution: {integrity: sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+  [email protected]:
+    resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
+    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
     hasBin: true
-    peerDependencies:
-      jiti: '*'
-    peerDependenciesMeta:
-      jiti:
-        optional: true
 
-  [email protected]:
-    resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+  [email protected]:
+    resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
+    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
+    hasBin: true
 
   [email protected]:
     resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
@@ -3113,10 +3069,6 @@ packages:
     resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
     engines: {node: ^10.12.0 || >=12.0.0}
 
-  [email protected]:
-    resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
-    engines: {node: '>=16.0.0'}
-
   [email protected]:
     resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
 
@@ -3136,10 +3088,6 @@ packages:
     resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
     engines: {node: ^10.12.0 || >=12.0.0}
 
-  [email protected]:
-    resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
-    engines: {node: '>=16'}
-
   [email protected]:
     resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
 
@@ -3314,10 +3262,6 @@ packages:
     resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
     engines: {node: '>=8'}
 
-  [email protected]:
-    resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
-    engines: {node: '>=18'}
-
   [email protected]:
     resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
     engines: {node: '>= 0.4'}
@@ -5829,11 +5773,19 @@ snapshots:
       eslint-visitor-keys: 2.1.0
       semver: 6.3.1
 
-  '@babel/[email protected](@babel/[email protected])([email protected]([email protected]))':
+  '@babel/[email protected](@babel/[email protected])([email protected])':
+    dependencies:
+      '@babel/core': 7.23.9
+      '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
+      eslint: 8.57.0
+      eslint-visitor-keys: 2.1.0
+      semver: 6.3.1
+
+  '@babel/[email protected](@babel/[email protected])([email protected])':
     dependencies:
       '@babel/core': 7.23.9
       '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.1
       eslint-visitor-keys: 2.1.0
       semver: 6.3.1
 
@@ -6563,39 +6515,25 @@ snapshots:
       eslint: 8.56.0
       eslint-visitor-keys: 3.4.3
 
-  '@eslint-community/[email protected]([email protected])':
+  '@eslint-community/[email protected]([email protected])':
     dependencies:
       eslint: 8.56.0
       eslint-visitor-keys: 3.4.3
 
-  '@eslint-community/[email protected]([email protected]([email protected]))':
+  '@eslint-community/[email protected]([email protected])':
     dependencies:
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
       eslint-visitor-keys: 3.4.3
 
-  '@eslint-community/[email protected]([email protected]([email protected]))':
+  '@eslint-community/[email protected]([email protected])':
     dependencies:
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.1
       eslint-visitor-keys: 3.4.3
 
   '@eslint-community/[email protected]': {}
 
   '@eslint-community/[email protected]': {}
 
-  '@eslint/[email protected]':
-    dependencies:
-      '@eslint/object-schema': 2.1.6
-      debug: 4.4.0
-      minimatch: 3.1.2
-    transitivePeerDependencies:
-      - supports-color
-
-  '@eslint/[email protected]': {}
-
-  '@eslint/[email protected]':
-    dependencies:
-      '@types/json-schema': 7.0.15
-
   '@eslint/[email protected]':
     dependencies:
       ajv: 6.12.6
@@ -6610,40 +6548,14 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@eslint/[email protected]':
-    dependencies:
-      ajv: 6.12.6
-      debug: 4.4.0
-      espree: 10.4.0
-      globals: 14.0.0
-      ignore: 5.3.2
-      import-fresh: 3.3.0
-      js-yaml: 4.1.0
-      minimatch: 3.1.2
-      strip-json-comments: 3.1.1
-    transitivePeerDependencies:
-      - supports-color
-
   '@eslint/[email protected]': {}
 
-  '@eslint/[email protected]': {}
+  '@eslint/[email protected]': {}
 
-  '@eslint/[email protected]': {}
-
-  '@eslint/[email protected]':
-    dependencies:
-      '@eslint/core': 0.15.2
-      levn: 0.4.1
+  '@eslint/[email protected]': {}
 
   '@fastify/[email protected]': {}
 
-  '@humanfs/[email protected]': {}
-
-  '@humanfs/[email protected]':
-    dependencies:
-      '@humanfs/core': 0.19.1
-      '@humanwhocodes/retry': 0.4.3
-
   '@humanwhocodes/[email protected]':
     dependencies:
       '@humanwhocodes/object-schema': 2.0.2
@@ -6652,11 +6564,19 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  '@humanwhocodes/[email protected]':
+    dependencies:
+      '@humanwhocodes/object-schema': 2.0.3
+      debug: 4.4.0
+      minimatch: 3.1.2
+    transitivePeerDependencies:
+      - supports-color
+
   '@humanwhocodes/[email protected]': {}
 
   '@humanwhocodes/[email protected]': {}
 
-  '@humanwhocodes/[email protected]': {}
+  '@humanwhocodes/[email protected]': {}
 
   '@img/[email protected]':
     optionalDependencies:
@@ -7333,16 +7253,36 @@ snapshots:
     dependencies:
       '@types/yargs-parser': 21.0.0
 
-  '@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])':
+  '@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])':
+    dependencies:
+      '@eslint-community/regexpp': 4.12.1
+      '@typescript-eslint/parser': 6.21.0([email protected])([email protected])
+      '@typescript-eslint/scope-manager': 6.21.0
+      '@typescript-eslint/type-utils': 6.21.0([email protected])([email protected])
+      '@typescript-eslint/utils': 6.21.0([email protected])([email protected])
+      '@typescript-eslint/visitor-keys': 6.21.0
+      debug: 4.4.0
+      eslint: 8.57.0
+      graphemer: 1.4.0
+      ignore: 5.3.2
+      natural-compare: 1.4.0
+      semver: 7.6.3
+      ts-api-utils: 1.2.1([email protected])
+    optionalDependencies:
+      typescript: 5.7.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])':
     dependencies:
       '@eslint-community/regexpp': 4.12.1
-      '@typescript-eslint/parser': 6.21.0([email protected]([email protected]))([email protected])
+      '@typescript-eslint/parser': 6.21.0([email protected])([email protected])
       '@typescript-eslint/scope-manager': 6.21.0
-      '@typescript-eslint/type-utils': 6.21.0([email protected]([email protected]))([email protected])
-      '@typescript-eslint/utils': 6.21.0([email protected]([email protected]))([email protected])
+      '@typescript-eslint/type-utils': 6.21.0([email protected])([email protected])
+      '@typescript-eslint/utils': 6.21.0([email protected])([email protected])
       '@typescript-eslint/visitor-keys': 6.21.0
       debug: 4.4.0
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.1
       graphemer: 1.4.0
       ignore: 5.3.2
       natural-compare: 1.4.0
@@ -7403,14 +7343,27 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
+  '@typescript-eslint/[email protected]([email protected])([email protected])':
     dependencies:
       '@typescript-eslint/scope-manager': 6.21.0
       '@typescript-eslint/types': 6.21.0
       '@typescript-eslint/typescript-estree': 6.21.0([email protected])
       '@typescript-eslint/visitor-keys': 6.21.0
       debug: 4.4.0
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
+    optionalDependencies:
+      typescript: 5.7.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/[email protected]([email protected])([email protected])':
+    dependencies:
+      '@typescript-eslint/scope-manager': 6.21.0
+      '@typescript-eslint/types': 6.21.0
+      '@typescript-eslint/typescript-estree': 6.21.0([email protected])
+      '@typescript-eslint/visitor-keys': 6.21.0
+      debug: 4.4.0
+      eslint: 8.57.1
     optionalDependencies:
       typescript: 5.7.3
     transitivePeerDependencies:
@@ -7455,12 +7408,24 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
+  '@typescript-eslint/[email protected]([email protected])([email protected])':
+    dependencies:
+      '@typescript-eslint/typescript-estree': 6.21.0([email protected])
+      '@typescript-eslint/utils': 6.21.0([email protected])([email protected])
+      debug: 4.4.0
+      eslint: 8.57.0
+      ts-api-utils: 1.2.1([email protected])
+    optionalDependencies:
+      typescript: 5.7.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/[email protected]([email protected])([email protected])':
     dependencies:
       '@typescript-eslint/typescript-estree': 6.21.0([email protected])
-      '@typescript-eslint/utils': 6.21.0([email protected]([email protected]))([email protected])
+      '@typescript-eslint/utils': 6.21.0([email protected])([email protected])
       debug: 4.4.0
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.1
       ts-api-utils: 1.2.1([email protected])
     optionalDependencies:
       typescript: 5.7.3
@@ -7529,7 +7494,7 @@ snapshots:
 
   '@typescript-eslint/[email protected]([email protected])([email protected])':
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1([email protected])
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
       '@types/json-schema': 7.0.15
       '@types/semver': 7.5.7
       '@typescript-eslint/scope-manager': 5.62.0
@@ -7542,15 +7507,30 @@ snapshots:
       - supports-color
       - typescript
 
-  '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
+  '@typescript-eslint/[email protected]([email protected])([email protected])':
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1([email protected]([email protected]))
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
       '@types/json-schema': 7.0.15
       '@types/semver': 7.5.7
       '@typescript-eslint/scope-manager': 5.62.0
       '@typescript-eslint/types': 5.62.0
       '@typescript-eslint/typescript-estree': 5.62.0([email protected])
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
+      eslint-scope: 5.1.1
+      semver: 7.7.1
+    transitivePeerDependencies:
+      - supports-color
+      - typescript
+
+  '@typescript-eslint/[email protected]([email protected])([email protected])':
+    dependencies:
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
+      '@types/json-schema': 7.0.15
+      '@types/semver': 7.5.7
+      '@typescript-eslint/scope-manager': 5.62.0
+      '@typescript-eslint/types': 5.62.0
+      '@typescript-eslint/typescript-estree': 5.62.0([email protected])
+      eslint: 8.57.1
       eslint-scope: 5.1.1
       semver: 7.7.1
     transitivePeerDependencies:
@@ -7559,7 +7539,7 @@ snapshots:
 
   '@typescript-eslint/[email protected]([email protected])([email protected])':
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1([email protected])
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
       '@types/json-schema': 7.0.15
       '@types/semver': 7.5.7
       '@typescript-eslint/scope-manager': 6.21.0
@@ -7571,15 +7551,29 @@ snapshots:
       - supports-color
       - typescript
 
-  '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
+  '@typescript-eslint/[email protected]([email protected])([email protected])':
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1([email protected]([email protected]))
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
       '@types/json-schema': 7.0.15
       '@types/semver': 7.5.7
       '@typescript-eslint/scope-manager': 6.21.0
       '@typescript-eslint/types': 6.21.0
       '@typescript-eslint/typescript-estree': 6.21.0([email protected])
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
+      semver: 7.6.3
+    transitivePeerDependencies:
+      - supports-color
+      - typescript
+
+  '@typescript-eslint/[email protected]([email protected])([email protected])':
+    dependencies:
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
+      '@types/json-schema': 7.0.15
+      '@types/semver': 7.5.7
+      '@typescript-eslint/scope-manager': 6.21.0
+      '@typescript-eslint/types': 6.21.0
+      '@typescript-eslint/typescript-estree': 6.21.0([email protected])
+      eslint: 8.57.1
       semver: 7.6.3
     transitivePeerDependencies:
       - supports-color
@@ -7587,7 +7581,7 @@ snapshots:
 
   '@typescript-eslint/[email protected]([email protected])([email protected])':
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1([email protected])
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
       '@typescript-eslint/scope-manager': 8.25.0
       '@typescript-eslint/types': 8.25.0
       '@typescript-eslint/typescript-estree': 8.25.0([email protected])
@@ -7609,7 +7603,7 @@ snapshots:
   '@typescript-eslint/[email protected]':
     dependencies:
       '@typescript-eslint/types': 8.25.0
-      eslint-visitor-keys: 4.2.0
+      eslint-visitor-keys: 4.2.1
 
   '@ungap/[email protected]': {}
 
@@ -7649,30 +7643,62 @@ snapshots:
       - jest
       - supports-color
 
-  '@vercel/[email protected](@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])':
+  '@vercel/[email protected](@next/[email protected])([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])':
     dependencies:
       '@babel/core': 7.23.9
-      '@babel/eslint-parser': 7.23.10(@babel/[email protected])([email protected]([email protected]))
+      '@babel/eslint-parser': 7.23.10(@babel/[email protected])([email protected])
       '@rushstack/eslint-patch': 1.7.2
-      '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])
-      '@typescript-eslint/parser': 6.21.0([email protected]([email protected]))([email protected])
-      eslint-config-prettier: 9.1.0([email protected]([email protected]))
+      '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+      '@typescript-eslint/parser': 6.21.0([email protected])([email protected])
+      eslint-config-prettier: 9.1.0([email protected])
       eslint-import-resolver-alias: 1.1.2([email protected])
-      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected]))
-      eslint-plugin-eslint-comments: 3.2.0([email protected]([email protected]))
-      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected]))
-      eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
-      eslint-plugin-jsx-a11y: 6.8.0([email protected]([email protected]))
-      eslint-plugin-playwright: 0.16.0([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected]([email protected]))
-      eslint-plugin-react: 7.33.2([email protected]([email protected]))
-      eslint-plugin-react-hooks: 4.6.0([email protected]([email protected]))
-      eslint-plugin-testing-library: 6.2.0([email protected]([email protected]))([email protected])
+      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+      eslint-plugin-eslint-comments: 3.2.0([email protected])
+      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+      eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
+      eslint-plugin-jsx-a11y: 6.8.0([email protected])
+      eslint-plugin-playwright: 0.16.0([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected])
+      eslint-plugin-react: 7.33.2([email protected])
+      eslint-plugin-react-hooks: 4.6.0([email protected])
+      eslint-plugin-testing-library: 6.2.0([email protected])([email protected])
       eslint-plugin-tsdoc: 0.2.17
-      eslint-plugin-unicorn: 48.0.1([email protected]([email protected]))
+      eslint-plugin-unicorn: 48.0.1([email protected])
       prettier-plugin-packagejson: 2.4.11([email protected])
     optionalDependencies:
       '@next/eslint-plugin-next': 14.2.23
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
+      prettier: 3.5.2
+      typescript: 5.7.3
+    transitivePeerDependencies:
+      - eslint-import-resolver-node
+      - eslint-import-resolver-webpack
+      - jest
+      - supports-color
+
+  '@vercel/[email protected](@next/[email protected])([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])':
+    dependencies:
+      '@babel/core': 7.23.9
+      '@babel/eslint-parser': 7.23.10(@babel/[email protected])([email protected])
+      '@rushstack/eslint-patch': 1.7.2
+      '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+      '@typescript-eslint/parser': 6.21.0([email protected])([email protected])
+      eslint-config-prettier: 9.1.0([email protected])
+      eslint-import-resolver-alias: 1.1.2([email protected])
+      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+      eslint-plugin-eslint-comments: 3.2.0([email protected])
+      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+      eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
+      eslint-plugin-jsx-a11y: 6.8.0([email protected])
+      eslint-plugin-playwright: 0.16.0([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected])
+      eslint-plugin-react: 7.33.2([email protected])
+      eslint-plugin-react-hooks: 4.6.0([email protected])
+      eslint-plugin-testing-library: 6.2.0([email protected])([email protected])
+      eslint-plugin-tsdoc: 0.2.17
+      eslint-plugin-unicorn: 48.0.1([email protected])
+      prettier-plugin-packagejson: 2.4.11([email protected])
+    optionalDependencies:
+      '@next/eslint-plugin-next': 14.2.23
+      eslint: 8.57.1
       prettier: 3.5.2
       typescript: 5.7.3
     transitivePeerDependencies:
@@ -7685,21 +7711,15 @@ snapshots:
 
   [email protected]:
     dependencies:
-      acorn: 8.9.0
+      acorn: 8.15.0
       acorn-walk: 8.2.0
 
-  [email protected]([email protected]):
-    dependencies:
-      acorn: 8.11.3
-
   [email protected]([email protected]):
     dependencies:
       acorn: 8.15.0
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]: {}
@@ -8812,14 +8832,18 @@ snapshots:
     dependencies:
       eslint: 8.56.0
 
-  [email protected]([email protected]([email protected])):
+  [email protected]([email protected]):
     dependencies:
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
 
-  [email protected]([email protected]([email protected]))([email protected]):
+  [email protected]([email protected]):
     dependencies:
-      eslint: 9.35.0([email protected])
-      eslint-plugin-turbo: 2.4.4([email protected]([email protected]))([email protected])
+      eslint: 8.57.1
+
+  [email protected]([email protected])([email protected]):
+    dependencies:
+      eslint: 8.57.0
+      eslint-plugin-turbo: 2.4.4([email protected])([email protected])
       turbo: 2.4.4
 
   [email protected]([email protected]):
@@ -8851,13 +8875,30 @@ snapshots:
       - eslint-import-resolver-webpack
       - supports-color
 
-  [email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected])):
+  [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]):
+    dependencies:
+      debug: 4.4.0
+      enhanced-resolve: 5.15.0
+      eslint: 8.57.0
+      eslint-module-utils: 2.8.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected])
+      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+      fast-glob: 3.3.2
+      get-tsconfig: 4.7.2
+      is-core-module: 2.13.1
+      is-glob: 4.0.3
+    transitivePeerDependencies:
+      - '@typescript-eslint/parser'
+      - eslint-import-resolver-node
+      - eslint-import-resolver-webpack
+      - supports-color
+
+  [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]):
     dependencies:
       debug: 4.4.0
       enhanced-resolve: 5.15.0
-      eslint: 9.35.0([email protected])
-      eslint-module-utils: 2.8.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected])([email protected]([email protected]))
-      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected]))
+      eslint: 8.57.1
+      eslint-module-utils: 2.8.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected])
+      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
       fast-glob: 3.3.2
       get-tsconfig: 4.7.2
       is-core-module: 2.13.1
@@ -8905,14 +8946,25 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  [email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected])([email protected]([email protected])):
+  [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected]):
     dependencies:
       debug: 3.2.7
     optionalDependencies:
-      '@typescript-eslint/parser': 6.21.0([email protected]([email protected]))([email protected])
-      eslint: 9.35.0([email protected])
+      '@typescript-eslint/parser': 6.21.0([email protected])([email protected])
+      eslint: 8.57.0
       eslint-import-resolver-node: 0.3.9
-      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected]))
+      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+    transitivePeerDependencies:
+      - supports-color
+
+  [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected]):
+    dependencies:
+      debug: 3.2.7
+    optionalDependencies:
+      '@typescript-eslint/parser': 6.21.0([email protected])([email protected])
+      eslint: 8.57.1
+      eslint-import-resolver-node: 0.3.9
+      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
     transitivePeerDependencies:
       - supports-color
 
@@ -8922,10 +8974,16 @@ snapshots:
       eslint: 8.56.0
       ignore: 5.3.2
 
-  [email protected]([email protected]([email protected])):
+  [email protected]([email protected]):
     dependencies:
       escape-string-regexp: 1.0.5
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
+      ignore: 5.3.2
+
+  [email protected]([email protected]):
+    dependencies:
+      escape-string-regexp: 1.0.5
+      eslint: 8.57.1
       ignore: 5.3.2
 
   [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]):
@@ -8955,7 +9013,34 @@ snapshots:
       - eslint-import-resolver-webpack
       - supports-color
 
-  [email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected])):
+  [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]):
+    dependencies:
+      array-includes: 3.1.7
+      array.prototype.findlastindex: 1.2.4
+      array.prototype.flat: 1.3.2
+      array.prototype.flatmap: 1.3.2
+      debug: 3.2.7
+      doctrine: 2.1.0
+      eslint: 8.57.0
+      eslint-import-resolver-node: 0.3.9
+      eslint-module-utils: 2.8.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected])
+      hasown: 2.0.1
+      is-core-module: 2.13.1
+      is-glob: 4.0.3
+      minimatch: 3.1.2
+      object.fromentries: 2.0.7
+      object.groupby: 1.0.2
+      object.values: 1.1.7
+      semver: 6.3.1
+      tsconfig-paths: 3.15.0
+    optionalDependencies:
+      '@typescript-eslint/parser': 6.21.0([email protected])([email protected])
+    transitivePeerDependencies:
+      - eslint-import-resolver-typescript
+      - eslint-import-resolver-webpack
+      - supports-color
+
+  [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]):
     dependencies:
       array-includes: 3.1.7
       array.prototype.findlastindex: 1.2.4
@@ -8963,9 +9048,9 @@ snapshots:
       array.prototype.flatmap: 1.3.2
       debug: 3.2.7
       doctrine: 2.1.0
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.1
       eslint-import-resolver-node: 0.3.9
-      eslint-module-utils: 2.8.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected])([email protected]([email protected]))
+      eslint-module-utils: 2.8.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected])
       hasown: 2.0.1
       is-core-module: 2.13.1
       is-glob: 4.0.3
@@ -8976,7 +9061,7 @@ snapshots:
       semver: 6.3.1
       tsconfig-paths: 3.15.0
     optionalDependencies:
-      '@typescript-eslint/parser': 6.21.0([email protected]([email protected]))([email protected])
+      '@typescript-eslint/parser': 6.21.0([email protected])([email protected])
     transitivePeerDependencies:
       - eslint-import-resolver-typescript
       - eslint-import-resolver-webpack
@@ -9022,12 +9107,23 @@ snapshots:
       - supports-color
       - typescript
 
-  [email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]):
+  [email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]):
     dependencies:
-      '@typescript-eslint/utils': 5.62.0([email protected]([email protected]))([email protected])
-      eslint: 9.35.0([email protected])
+      '@typescript-eslint/utils': 5.62.0([email protected])([email protected])
+      eslint: 8.57.0
     optionalDependencies:
-      '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])
+      '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+      jest: 29.7.0(@types/[email protected])([email protected](@types/[email protected])([email protected]))
+    transitivePeerDependencies:
+      - supports-color
+      - typescript
+
+  [email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]):
+    dependencies:
+      '@typescript-eslint/utils': 5.62.0([email protected])([email protected])
+      eslint: 8.57.1
+    optionalDependencies:
+      '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
       jest: 29.7.0(@types/[email protected])([email protected](@types/[email protected])([email protected]))
     transitivePeerDependencies:
       - supports-color
@@ -9072,7 +9168,7 @@ snapshots:
       object.entries: 1.1.7
       object.fromentries: 2.0.7
 
-  [email protected]([email protected]([email protected])):
+  [email protected]([email protected]):
     dependencies:
       '@babel/runtime': 7.25.6
       aria-query: 5.3.0
@@ -9084,7 +9180,27 @@ snapshots:
       damerau-levenshtein: 1.0.8
       emoji-regex: 9.2.2
       es-iterator-helpers: 1.0.15
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
+      hasown: 2.0.0
+      jsx-ast-utils: 3.3.5
+      language-tags: 1.0.9
+      minimatch: 3.1.2
+      object.entries: 1.1.7
+      object.fromentries: 2.0.7
+
+  [email protected]([email protected]):
+    dependencies:
+      '@babel/runtime': 7.25.6
+      aria-query: 5.3.0
+      array-includes: 3.1.7
+      array.prototype.flatmap: 1.3.2
+      ast-types-flow: 0.0.8
+      axe-core: 4.7.0
+      axobject-query: 3.2.1
+      damerau-levenshtein: 1.0.8
+      emoji-regex: 9.2.2
+      es-iterator-helpers: 1.0.15
+      eslint: 8.57.1
       hasown: 2.0.0
       jsx-ast-utils: 3.3.5
       language-tags: 1.0.9
@@ -9098,19 +9214,29 @@ snapshots:
     optionalDependencies:
       eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
 
-  [email protected]([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected]([email protected])):
+  [email protected]([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected]):
     dependencies:
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
     optionalDependencies:
-      eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
+      eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
+
+  [email protected]([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected]):
+    dependencies:
+      eslint: 8.57.1
+    optionalDependencies:
+      eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
 
   [email protected]([email protected]):
     dependencies:
       eslint: 8.56.0
 
-  [email protected]([email protected]([email protected])):
+  [email protected]([email protected]):
     dependencies:
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
+
+  [email protected]([email protected]):
+    dependencies:
+      eslint: 8.57.1
 
   [email protected]([email protected]):
     dependencies:
@@ -9136,14 +9262,34 @@ snapshots:
       semver: 6.3.1
       string.prototype.matchall: 4.0.10
 
-  [email protected]([email protected]([email protected])):
+  [email protected]([email protected]):
     dependencies:
       array-includes: 3.1.7
       array.prototype.flatmap: 1.3.2
       array.prototype.tosorted: 1.1.2
       doctrine: 2.1.0
       es-iterator-helpers: 1.0.15
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
+      estraverse: 5.3.0
+      jsx-ast-utils: 3.3.5
+      minimatch: 3.1.2
+      object.entries: 1.1.7
+      object.fromentries: 2.0.7
+      object.hasown: 1.1.3
+      object.values: 1.1.7
+      prop-types: 15.8.1
+      resolve: 2.0.0-next.5
+      semver: 6.3.1
+      string.prototype.matchall: 4.0.10
+
+  [email protected]([email protected]):
+    dependencies:
+      array-includes: 3.1.7
+      array.prototype.flatmap: 1.3.2
+      array.prototype.tosorted: 1.1.2
+      doctrine: 2.1.0
+      es-iterator-helpers: 1.0.15
+      eslint: 8.57.1
       estraverse: 5.3.0
       jsx-ast-utils: 3.3.5
       minimatch: 3.1.2
@@ -9186,10 +9332,18 @@ snapshots:
       - supports-color
       - typescript
 
-  [email protected]([email protected]([email protected]))([email protected]):
+  [email protected]([email protected])([email protected]):
+    dependencies:
+      '@typescript-eslint/utils': 5.62.0([email protected])([email protected])
+      eslint: 8.57.0
+    transitivePeerDependencies:
+      - supports-color
+      - typescript
+
+  [email protected]([email protected])([email protected]):
     dependencies:
-      '@typescript-eslint/utils': 5.62.0([email protected]([email protected]))([email protected])
-      eslint: 9.35.0([email protected])
+      '@typescript-eslint/utils': 5.62.0([email protected])([email protected])
+      eslint: 8.57.1
     transitivePeerDependencies:
       - supports-color
       - typescript
@@ -9199,16 +9353,16 @@ snapshots:
       '@microsoft/tsdoc': 0.14.2
       '@microsoft/tsdoc-config': 0.16.2
 
-  [email protected]([email protected]([email protected]))([email protected]):
+  [email protected]([email protected])([email protected]):
     dependencies:
       dotenv: 16.0.3
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
       turbo: 2.4.4
 
   [email protected]([email protected]):
     dependencies:
       '@babel/helper-validator-identifier': 7.22.20
-      '@eslint-community/eslint-utils': 4.4.1([email protected])
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
       ci-info: 3.9.0
       clean-regexp: 1.0.0
       eslint: 8.56.0
@@ -9224,13 +9378,32 @@ snapshots:
       semver: 7.6.3
       strip-indent: 3.0.0
 
-  [email protected]([email protected]([email protected])):
+  [email protected]([email protected]):
     dependencies:
       '@babel/helper-validator-identifier': 7.22.20
-      '@eslint-community/eslint-utils': 4.4.1([email protected]([email protected]))
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
       ci-info: 3.9.0
       clean-regexp: 1.0.0
-      eslint: 9.35.0([email protected])
+      eslint: 8.57.0
+      esquery: 1.5.0
+      indent-string: 4.0.0
+      is-builtin-module: 3.2.1
+      jsesc: 3.0.2
+      lodash: 4.17.21
+      pluralize: 8.0.0
+      read-pkg-up: 7.0.1
+      regexp-tree: 0.1.27
+      regjsparser: 0.10.0
+      semver: 7.6.3
+      strip-indent: 3.0.0
+
+  [email protected]([email protected]):
+    dependencies:
+      '@babel/helper-validator-identifier': 7.22.20
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
+      ci-info: 3.9.0
+      clean-regexp: 1.0.0
+      eslint: 8.57.1
       esquery: 1.5.0
       indent-string: 4.0.0
       is-builtin-module: 3.2.1
@@ -9253,17 +9426,10 @@ snapshots:
       esrecurse: 4.3.0
       estraverse: 5.3.0
 
-  [email protected]:
-    dependencies:
-      esrecurse: 4.3.0
-      estraverse: 5.3.0
-
   [email protected]: {}
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]:
@@ -9309,58 +9475,96 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  [email protected]([email protected]):
+  [email protected]:
     dependencies:
-      '@eslint-community/eslint-utils': 4.9.0([email protected]([email protected]))
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
       '@eslint-community/regexpp': 4.12.1
-      '@eslint/config-array': 0.21.0
-      '@eslint/config-helpers': 0.3.1
-      '@eslint/core': 0.15.2
-      '@eslint/eslintrc': 3.3.1
-      '@eslint/js': 9.35.0
-      '@eslint/plugin-kit': 0.3.5
-      '@humanfs/node': 0.16.7
+      '@eslint/eslintrc': 2.1.4
+      '@eslint/js': 8.57.0
+      '@humanwhocodes/config-array': 0.11.14
       '@humanwhocodes/module-importer': 1.0.1
-      '@humanwhocodes/retry': 0.4.3
-      '@types/estree': 1.0.6
-      '@types/json-schema': 7.0.15
+      '@nodelib/fs.walk': 1.2.8
+      '@ungap/structured-clone': 1.2.0
       ajv: 6.12.6
       chalk: 4.1.2
       cross-spawn: 7.0.6
       debug: 4.4.0
+      doctrine: 3.0.0
       escape-string-regexp: 4.0.0
-      eslint-scope: 8.4.0
-      eslint-visitor-keys: 4.2.1
-      espree: 10.4.0
+      eslint-scope: 7.2.2
+      eslint-visitor-keys: 3.4.3
+      espree: 9.6.1
       esquery: 1.5.0
       esutils: 2.0.3
       fast-deep-equal: 3.1.3
-      file-entry-cache: 8.0.0
+      file-entry-cache: 6.0.1
       find-up: 5.0.0
       glob-parent: 6.0.2
+      globals: 13.24.0
+      graphemer: 1.4.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
       optionator: 0.9.3
-    optionalDependencies:
-      jiti: 1.21.7
+      strip-ansi: 6.0.1
+      text-table: 0.2.0
     transitivePeerDependencies:
       - supports-color
 
-  [email protected]:
+  [email protected]:
     dependencies:
-      acorn: 8.15.0
-      acorn-jsx: 5.3.2([email protected])
-      eslint-visitor-keys: 4.2.1
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
+      '@eslint-community/regexpp': 4.12.1
+      '@eslint/eslintrc': 2.1.4
+      '@eslint/js': 8.57.1
+      '@humanwhocodes/config-array': 0.13.0
+      '@humanwhocodes/module-importer': 1.0.1
+      '@nodelib/fs.walk': 1.2.8
+      '@ungap/structured-clone': 1.2.0
+      ajv: 6.12.6
+      chalk: 4.1.2
+      cross-spawn: 7.0.6
+      debug: 4.4.0
+      doctrine: 3.0.0
+      escape-string-regexp: 4.0.0
+      eslint-scope: 7.2.2
+      eslint-visitor-keys: 3.4.3
+      espree: 9.6.1
+      esquery: 1.5.0
+      esutils: 2.0.3
+      fast-deep-equal: 3.1.3
+      file-entry-cache: 6.0.1
+      find-up: 5.0.0
+      glob-parent: 6.0.2
+      globals: 13.24.0
+      graphemer: 1.4.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
+      optionator: 0.9.3
+      strip-ansi: 6.0.1
+      text-table: 0.2.0
+    transitivePeerDependencies:
+      - supports-color
 
   [email protected]:
     dependencies:
-      acorn: 8.11.3
-      acorn-jsx: 5.3.2([email protected])
+      acorn: 8.15.0
+      acorn-jsx: 5.3.2([email protected])
       eslint-visitor-keys: 3.4.3
 
   [email protected]: {}
@@ -9469,10 +9673,6 @@ snapshots:
     dependencies:
       flat-cache: 3.2.0
 
-  [email protected]:
-    dependencies:
-      flat-cache: 4.0.1
-
   [email protected]:
     dependencies:
       minimatch: 5.1.6
@@ -9497,11 +9697,6 @@ snapshots:
       keyv: 4.5.4
       rimraf: 3.0.2
 
-  [email protected]:
-    dependencies:
-      flatted: 3.2.9
-      keyv: 4.5.4
-
   [email protected]: {}
 
   [email protected]: {}
@@ -9707,8 +9902,6 @@ snapshots:
     dependencies:
       type-fest: 0.20.2
 
-  [email protected]: {}
-
   [email protected]:
     dependencies:
       define-properties: 1.2.1
@@ -12059,7 +12252,7 @@ snapshots:
 
   [email protected]:
     dependencies:
-      punycode: 2.3.0
+      punycode: 2.3.1
 
   [email protected]: {}
 
@@ -12140,7 +12333,7 @@ snapshots:
       '@tsconfig/node14': 1.0.3
       '@tsconfig/node16': 1.0.3
       '@types/node': 22.10.7
-      acorn: 8.11.3
+      acorn: 8.15.0
       acorn-walk: 8.2.0
       arg: 4.1.3
       create-require: 1.1.1
@@ -12159,7 +12352,7 @@ snapshots:
       '@tsconfig/node14': 1.0.3
       '@tsconfig/node16': 1.0.3
       '@types/node': 22.13.5
-      acorn: 8.11.3
+      acorn: 8.15.0
       acorn-walk: 8.2.0
       arg: 4.1.3
       create-require: 1.1.1
diff --git a/tooling/eslint-config-custom/package.json b/tooling/eslint-config-custom/package.json
index adc6054..d02c5e3 100644
--- a/tooling/eslint-config-custom/package.json
+++ b/tooling/eslint-config-custom/package.json
@@ -6,7 +6,7 @@
   "main": "index.js",
   "dependencies": {
     "@vercel/style-guide": "5.2.0",
-    "eslint": "9.35.0",
+    "eslint": "8.57.0",
     "eslint-config-turbo": "^2.4.4",
     "typescript": "5.7.3"
   },
diff --git a/tooling/tsconfig/package.json b/tooling/tsconfig/package.json
index faff0be..74c4fae 100644
--- a/tooling/tsconfig/package.json
+++ b/tooling/tsconfig/package.json
@@ -5,7 +5,7 @@
   "license": "Apache-2.0",
   "devDependencies": {
     "@vercel/style-guide": "5.2.0",
-    "eslint": "9.35.0",
+    "eslint": "8.57.1",
     "typescript": "5.7.3"
   },
   "publishConfig": {

Analysis

ESLint 9 breaking change causes linting to fail

What fails: ESLint 9.35.0 cannot find configuration files due to deprecated .eslintrc.js format, causing pnpm lint command to fail

How to reproduce:

pnpm lint

Result: ESLint fails with error "ESLint couldn't find an eslint.config.(js|mjs|cjs) file. From ESLint v9.0.0, the default configuration file is now eslint.config.js"

Expected: Linting should complete successfully per ESLint migration guide - ESLint 9 requires flat config format or explicit backward compatibility configuration

Root cause: @vercel/style-guide and ecosystem plugins don't yet support ESLint 9 due to @rushstack/eslint-patch only supporting ESLint 6.x-8.x

Copy link

@vercel vercel bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional Comments:

test/next/package.json (line 26):

The test/next/package.json file still specifies eslint: ^8.56.0 while all other packages have been upgraded to 9.36.0, which will cause dependency conflicts.

View Details
📝 Patch Details
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 50afef0..c12329b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -344,7 +344,7 @@ importers:
         version: link:../../packages/postgres-kysely
       '@vercel/style-guide':
         specifier: ^5.2.0
-        version: 5.2.0(@next/[email protected])([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
+        version: 5.2.0(@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
       autoprefixer:
         specifier: ^10.4.20
         version: 10.4.20([email protected])
@@ -355,11 +355,11 @@ importers:
         specifier: ^16.4.7
         version: 16.4.7
       eslint:
-        specifier: ^8.56.0
-        version: 8.56.0
+        specifier: 9.36.0
+        version: 9.36.0([email protected])
       eslint-config-next:
         specifier: ^15.2.0
-        version: 15.2.0([email protected])([email protected])
+        version: 15.2.0([email protected]([email protected]))([email protected])
       got:
         specifier: ^14.4.6
         version: 14.4.6
@@ -1114,12 +1114,6 @@ packages:
     cpu: [x64]
     os: [win32]
 
-  '@eslint-community/[email protected]':
-    resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-    peerDependencies:
-      eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
   '@eslint-community/[email protected]':
     resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -1132,10 +1126,6 @@ packages:
     peerDependencies:
       eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
 
-  '@eslint-community/[email protected]':
-    resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
-    engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
   '@eslint-community/[email protected]':
     resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
     engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
@@ -1152,18 +1142,10 @@ packages:
     resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
   '@eslint/[email protected]':
     resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
   '@eslint/[email protected]':
     resolution: {integrity: sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1188,19 +1170,10 @@ packages:
     resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
     engines: {node: '>=18.18.0'}
 
-  '@humanwhocodes/[email protected]':
-    resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
-    engines: {node: '>=10.10.0'}
-    deprecated: Use @eslint/config-array instead
-
   '@humanwhocodes/[email protected]':
     resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
     engines: {node: '>=12.22'}
 
-  '@humanwhocodes/[email protected]':
-    resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
-    deprecated: Use @eslint/object-schema instead
-
   '@humanwhocodes/[email protected]':
     resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
     engines: {node: '>=18.18'}
@@ -1947,9 +1920,6 @@ packages:
     resolution: {integrity: sha512-kCYXKAum9CecGVHGij7muybDfTS2sD3t0L4bJsEZLkyrXUImiCTq1M3LG2SRtOhiHFwMR9wAFplpT6XHYjTkwQ==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@ungap/[email protected]':
-    resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
-
   '@upstash/[email protected]':
     resolution: {integrity: sha512-TrXNoJLkysIl8SBc4u9bNnyoFYoILpCcFJcLyWCccb/QSUmaVKdvY0m5diZqc3btExsapcMbaw/s/wh9Sf1pJw==}
 
@@ -2470,10 +2440,6 @@ packages:
   [email protected]:
     resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==}
 
-  [email protected]:
-    resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
-    engines: {node: '>= 8'}
-
   [email protected]:
     resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
     engines: {node: '>= 8'}
@@ -2526,24 +2492,6 @@ packages:
       supports-color:
         optional: true
 
-  [email protected]:
-    resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
-    engines: {node: '>=6.0'}
-    peerDependencies:
-      supports-color: '*'
-    peerDependenciesMeta:
-      supports-color:
-        optional: true
-
-  [email protected]:
-    resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==}
-    engines: {node: '>=6.0'}
-    peerDependencies:
-      supports-color: '*'
-    peerDependenciesMeta:
-      supports-color:
-        optional: true
-
   [email protected]:
     resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
     engines: {node: '>=6.0'}
@@ -2650,10 +2598,6 @@ packages:
     resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
     engines: {node: '>=0.10.0'}
 
-  [email protected]:
-    resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
-    engines: {node: '>=6.0.0'}
-
   [email protected]:
     resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}
     engines: {node: '>=12'}
@@ -3017,10 +2961,6 @@ packages:
     resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
     engines: {node: '>=8.0.0'}
 
-  [email protected]:
-    resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
   [email protected]:
     resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -3041,12 +2981,6 @@ packages:
     resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  [email protected]:
-    resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-    deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
-    hasBin: true
-
   [email protected]:
     resolution: {integrity: sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -3061,10 +2995,6 @@ packages:
     resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  [email protected]:
-    resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
   [email protected]:
     resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
     engines: {node: '>=4'}
@@ -3151,10 +3081,6 @@ packages:
       picomatch:
         optional: true
 
-  [email protected]:
-    resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
-    engines: {node: ^10.12.0 || >=12.0.0}
-
   [email protected]:
     resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
     engines: {node: '>=16.0.0'}
@@ -3174,10 +3100,6 @@ packages:
     resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
     engines: {node: '>=10'}
 
-  [email protected]:
-    resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
-    engines: {node: ^10.12.0 || >=12.0.0}
-
   [email protected]:
     resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
     engines: {node: '>=16'}
@@ -3352,10 +3274,6 @@ packages:
     resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
     engines: {node: '>=4'}
 
-  [email protected]:
-    resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
-    engines: {node: '>=8'}
-
   [email protected]:
     resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
     engines: {node: '>=18'}
@@ -3503,10 +3421,6 @@ packages:
     resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
     engines: {node: '>=0.10.0'}
 
-  [email protected]:
-    resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
-    engines: {node: '>= 4'}
-
   [email protected]:
     resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
     engines: {node: '>= 4'}
@@ -3690,10 +3604,6 @@ packages:
     resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
     engines: {node: '>=0.12.0'}
 
-  [email protected]:
-    resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
-    engines: {node: '>=8'}
-
   [email protected]:
     resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
     engines: {node: '>=12'}
@@ -4266,9 +4176,6 @@ packages:
     resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
     engines: {node: '>=4'}
 
-  [email protected]:
-    resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
-
   [email protected]:
     resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
 
@@ -4902,11 +4809,6 @@ packages:
   [email protected]:
     resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
 
-  [email protected]:
-    resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
-    deprecated: Rimraf versions prior to v4 are no longer supported
-    hasBin: true
-
   [email protected]:
     resolution: {integrity: sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==}
     engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -5257,9 +5159,6 @@ packages:
     resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
     engines: {node: '>=8'}
 
-  [email protected]:
-    resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
-
   [email protected]:
     resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
     engines: {node: '>=0.8'}
@@ -5490,10 +5389,6 @@ packages:
     resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
     engines: {node: '>=4'}
 
-  [email protected]:
-    resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
-    engines: {node: '>=10'}
-
   [email protected]:
     resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
     engines: {node: '>=10'}
@@ -5872,14 +5767,6 @@ snapshots:
       - supports-color
     optional: true
 
-  '@babel/[email protected](@babel/[email protected])([email protected])':
-    dependencies:
-      '@babel/core': 7.23.9
-      '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
-      eslint: 8.56.0
-      eslint-visitor-keys: 2.1.0
-      semver: 6.3.1
-
   '@babel/[email protected](@babel/[email protected])([email protected]([email protected]))':
     dependencies:
       '@babel/core': 7.23.9
@@ -6612,16 +6499,6 @@ snapshots:
   '@esbuild/[email protected]':
     optional: true
 
-  '@eslint-community/[email protected]([email protected])':
-    dependencies:
-      eslint: 8.56.0
-      eslint-visitor-keys: 3.4.3
-
-  '@eslint-community/[email protected]([email protected])':
-    dependencies:
-      eslint: 8.56.0
-      eslint-visitor-keys: 3.4.3
-
   '@eslint-community/[email protected]([email protected]([email protected]))':
     dependencies:
       eslint: 9.36.0([email protected])
@@ -6632,8 +6509,6 @@ snapshots:
       eslint: 9.36.0([email protected])
       eslint-visitor-keys: 3.4.3
 
-  '@eslint-community/[email protected]': {}
-
   '@eslint-community/[email protected]': {}
 
   '@eslint/[email protected]':
@@ -6650,20 +6525,6 @@ snapshots:
     dependencies:
       '@types/json-schema': 7.0.15
 
-  '@eslint/[email protected]':
-    dependencies:
-      ajv: 6.12.6
-      debug: 4.3.5
-      espree: 9.6.1
-      globals: 13.24.0
-      ignore: 5.3.1
-      import-fresh: 3.3.0
-      js-yaml: 4.1.0
-      minimatch: 3.1.2
-      strip-json-comments: 3.1.1
-    transitivePeerDependencies:
-      - supports-color
-
   '@eslint/[email protected]':
     dependencies:
       ajv: 6.12.6
@@ -6678,8 +6539,6 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@eslint/[email protected]': {}
-
   '@eslint/[email protected]': {}
 
   '@eslint/[email protected]': {}
@@ -6698,18 +6557,8 @@ snapshots:
       '@humanfs/core': 0.19.1
       '@humanwhocodes/retry': 0.4.3
 
-  '@humanwhocodes/[email protected]':
-    dependencies:
-      '@humanwhocodes/object-schema': 2.0.2
-      debug: 4.3.5
-      minimatch: 3.1.2
-    transitivePeerDependencies:
-      - supports-color
-
   '@humanwhocodes/[email protected]': {}
 
-  '@humanwhocodes/[email protected]': {}
-
   '@humanwhocodes/[email protected]': {}
 
   '@img/[email protected]':
@@ -7415,35 +7264,15 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])':
-    dependencies:
-      '@eslint-community/regexpp': 4.12.1
-      '@typescript-eslint/parser': 8.25.0([email protected])([email protected])
-      '@typescript-eslint/scope-manager': 6.21.0
-      '@typescript-eslint/type-utils': 6.21.0([email protected])([email protected])
-      '@typescript-eslint/utils': 6.21.0([email protected])([email protected])
-      '@typescript-eslint/visitor-keys': 6.21.0
-      debug: 4.4.3
-      eslint: 8.56.0
-      graphemer: 1.4.0
-      ignore: 5.3.2
-      natural-compare: 1.4.0
-      semver: 7.6.3
-      ts-api-utils: 1.2.1([email protected])
-    optionalDependencies:
-      typescript: 5.7.3
-    transitivePeerDependencies:
-      - supports-color
-
-  '@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])':
+  '@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])':
     dependencies:
       '@eslint-community/regexpp': 4.12.1
-      '@typescript-eslint/parser': 8.25.0([email protected])([email protected])
+      '@typescript-eslint/parser': 8.25.0([email protected]([email protected]))([email protected])
       '@typescript-eslint/scope-manager': 8.25.0
-      '@typescript-eslint/type-utils': 8.25.0([email protected])([email protected])
-      '@typescript-eslint/utils': 8.25.0([email protected])([email protected])
+      '@typescript-eslint/type-utils': 8.25.0([email protected]([email protected]))([email protected])
+      '@typescript-eslint/utils': 8.25.0([email protected]([email protected]))([email protected])
       '@typescript-eslint/visitor-keys': 8.25.0
-      eslint: 8.56.0
+      eslint: 9.36.0([email protected])
       graphemer: 1.4.0
       ignore: 5.3.2
       natural-compare: 1.4.0
@@ -7452,19 +7281,6 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/[email protected]([email protected])([email protected])':
-    dependencies:
-      '@typescript-eslint/scope-manager': 6.21.0
-      '@typescript-eslint/types': 6.21.0
-      '@typescript-eslint/typescript-estree': 6.21.0([email protected])
-      '@typescript-eslint/visitor-keys': 6.21.0
-      debug: 4.4.3
-      eslint: 8.56.0
-    optionalDependencies:
-      typescript: 5.7.3
-    transitivePeerDependencies:
-      - supports-color
-
   '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
     dependencies:
       '@typescript-eslint/scope-manager': 6.21.0
@@ -7478,14 +7294,14 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/[email protected]([email protected])([email protected])':
+  '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
     dependencies:
       '@typescript-eslint/scope-manager': 8.25.0
       '@typescript-eslint/types': 8.25.0
       '@typescript-eslint/typescript-estree': 8.25.0([email protected])
       '@typescript-eslint/visitor-keys': 8.25.0
       debug: 4.4.3
-      eslint: 8.56.0
+      eslint: 9.36.0([email protected])
       typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
@@ -7505,18 +7321,6 @@ snapshots:
       '@typescript-eslint/types': 8.25.0
       '@typescript-eslint/visitor-keys': 8.25.0
 
-  '@typescript-eslint/[email protected]([email protected])([email protected])':
-    dependencies:
-      '@typescript-eslint/typescript-estree': 6.21.0([email protected])
-      '@typescript-eslint/utils': 6.21.0([email protected])([email protected])
-      debug: 4.4.3
-      eslint: 8.56.0
-      ts-api-utils: 1.2.1([email protected])
-    optionalDependencies:
-      typescript: 5.7.3
-    transitivePeerDependencies:
-      - supports-color
-
   '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
     dependencies:
       '@typescript-eslint/typescript-estree': 6.21.0([email protected])
@@ -7529,12 +7333,12 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/[email protected]([email protected])([email protected])':
+  '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
     dependencies:
       '@typescript-eslint/typescript-estree': 8.25.0([email protected])
-      '@typescript-eslint/utils': 8.25.0([email protected])([email protected])
+      '@typescript-eslint/utils': 8.25.0([email protected]([email protected]))([email protected])
       debug: 4.4.3
-      eslint: 8.56.0
+      eslint: 9.36.0([email protected])
       ts-api-utils: 2.0.1([email protected])
       typescript: 5.7.3
     transitivePeerDependencies:
@@ -7589,21 +7393,6 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/[email protected]([email protected])([email protected])':
-    dependencies:
-      '@eslint-community/eslint-utils': 4.4.1([email protected])
-      '@types/json-schema': 7.0.15
-      '@types/semver': 7.5.7
-      '@typescript-eslint/scope-manager': 5.62.0
-      '@typescript-eslint/types': 5.62.0
-      '@typescript-eslint/typescript-estree': 5.62.0([email protected])
-      eslint: 8.56.0
-      eslint-scope: 5.1.1
-      semver: 7.7.1
-    transitivePeerDependencies:
-      - supports-color
-      - typescript
-
   '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
     dependencies:
       '@eslint-community/eslint-utils': 4.4.1([email protected]([email protected]))
@@ -7619,20 +7408,6 @@ snapshots:
       - supports-color
       - typescript
 
-  '@typescript-eslint/[email protected]([email protected])([email protected])':
-    dependencies:
-      '@eslint-community/eslint-utils': 4.4.1([email protected])
-      '@types/json-schema': 7.0.15
-      '@types/semver': 7.5.7
-      '@typescript-eslint/scope-manager': 6.21.0
-      '@typescript-eslint/types': 6.21.0
-      '@typescript-eslint/typescript-estree': 6.21.0([email protected])
-      eslint: 8.56.0
-      semver: 7.6.3
-    transitivePeerDependencies:
-      - supports-color
-      - typescript
-
   '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
     dependencies:
       '@eslint-community/eslint-utils': 4.4.1([email protected]([email protected]))
@@ -7647,13 +7422,13 @@ snapshots:
       - supports-color
       - typescript
 
-  '@typescript-eslint/[email protected]([email protected])([email protected])':
+  '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.1([email protected])
+      '@eslint-community/eslint-utils': 4.4.1([email protected]([email protected]))
       '@typescript-eslint/scope-manager': 8.25.0
       '@typescript-eslint/types': 8.25.0
       '@typescript-eslint/typescript-estree': 8.25.0([email protected])
-      eslint: 8.56.0
+      eslint: 9.36.0([email protected])
       typescript: 5.7.3
     transitivePeerDependencies:
       - supports-color
@@ -7673,44 +7448,10 @@ snapshots:
       '@typescript-eslint/types': 8.25.0
       eslint-visitor-keys: 4.2.0
 
-  '@ungap/[email protected]': {}
-
   '@upstash/[email protected]':
     dependencies:
       crypto-js: 4.2.0
 
-  '@vercel/[email protected](@next/[email protected])([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])':
-    dependencies:
-      '@babel/core': 7.23.9
-      '@babel/eslint-parser': 7.23.10(@babel/[email protected])([email protected])
-      '@rushstack/eslint-patch': 1.7.2
-      '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
-      '@typescript-eslint/parser': 6.21.0([email protected])([email protected])
-      eslint-config-prettier: 9.1.0([email protected])
-      eslint-import-resolver-alias: 1.1.2([email protected])
-      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
-      eslint-plugin-eslint-comments: 3.2.0([email protected])
-      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
-      eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
-      eslint-plugin-jsx-a11y: 6.8.0([email protected])
-      eslint-plugin-playwright: 0.16.0([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected])
-      eslint-plugin-react: 7.33.2([email protected])
-      eslint-plugin-react-hooks: 4.6.0([email protected])
-      eslint-plugin-testing-library: 6.2.0([email protected])([email protected])
-      eslint-plugin-tsdoc: 0.2.17
-      eslint-plugin-unicorn: 48.0.1([email protected])
-      prettier-plugin-packagejson: 2.4.11([email protected])
-    optionalDependencies:
-      '@next/eslint-plugin-next': 14.2.23
-      eslint: 8.56.0
-      prettier: 3.5.2
-      typescript: 5.7.3
-    transitivePeerDependencies:
-      - eslint-import-resolver-node
-      - eslint-import-resolver-webpack
-      - jest
-      - supports-color
-
   '@vercel/[email protected](@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])':
     dependencies:
       '@babel/core': 7.23.9
@@ -7750,10 +7491,6 @@ snapshots:
       acorn: 8.9.0
       acorn-walk: 8.2.0
 
-  [email protected]([email protected]):
-    dependencies:
-      acorn: 8.11.3
-
   [email protected]([email protected]):
     dependencies:
       acorn: 8.15.0
@@ -8385,12 +8122,6 @@ snapshots:
     transitivePeerDependencies:
       - encoding
 
-  [email protected]:
-    dependencies:
-      path-key: 3.1.1
-      shebang-command: 2.0.0
-      which: 2.0.2
-
   [email protected]:
     dependencies:
       path-key: 3.1.1
@@ -8441,14 +8172,6 @@ snapshots:
     dependencies:
       ms: 2.1.3
 
-  [email protected]:
-    dependencies:
-      ms: 2.1.2
-
-  [email protected]:
-    dependencies:
-      ms: 2.1.2
-
   [email protected]:
     dependencies:
       ms: 2.1.3
@@ -8520,10 +8243,6 @@ snapshots:
     dependencies:
       esutils: 2.0.3
 
-  [email protected]:
-    dependencies:
-      esutils: 2.0.3
-
   [email protected]:
     dependencies:
       webidl-conversions: 7.0.0
@@ -8876,19 +8595,19 @@ snapshots:
     optionalDependencies:
       source-map: 0.6.1
 
-  [email protected]([email protected])([email protected]):
+  [email protected]([email protected]([email protected]))([email protected]):
     dependencies:
       '@next/eslint-plugin-next': 15.2.0
       '@rushstack/eslint-patch': 1.10.5
-      '@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
-      '@typescript-eslint/parser': 8.25.0([email protected])([email protected])
-      eslint: 8.56.0
+      '@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])
+      '@typescript-eslint/parser': 8.25.0([email protected]([email protected]))([email protected])
+      eslint: 9.36.0([email protected])
       eslint-import-resolver-node: 0.3.9
-      eslint-import-resolver-typescript: 3.8.3([email protected])([email protected])
-      eslint-plugin-import: 2.31.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
-      eslint-plugin-jsx-a11y: 6.10.2([email protected])
-      eslint-plugin-react: 7.37.4([email protected])
-      eslint-plugin-react-hooks: 5.1.0([email protected])
+      eslint-import-resolver-typescript: 3.8.3([email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected])))([email protected]([email protected]))
+      eslint-plugin-import: 2.31.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected])))([email protected]([email protected])))([email protected]([email protected]))
+      eslint-plugin-jsx-a11y: 6.10.2([email protected]([email protected]))
+      eslint-plugin-react: 7.37.4([email protected]([email protected]))
+      eslint-plugin-react-hooks: 5.1.0([email protected]([email protected]))
     optionalDependencies:
       typescript: 5.7.3
     transitivePeerDependencies:
@@ -8896,10 +8615,6 @@ snapshots:
       - eslint-plugin-import-x
       - supports-color
 
-  [email protected]([email protected]):
-    dependencies:
-      eslint: 8.56.0
-
   [email protected]([email protected]([email protected])):
     dependencies:
       eslint: 9.36.0([email protected])
@@ -8912,7 +8627,7 @@ snapshots:
 
   [email protected]([email protected]):
     dependencies:
-      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected]))
 
   [email protected]:
     dependencies:
@@ -8922,23 +8637,6 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]):
-    dependencies:
-      debug: 4.4.3
-      enhanced-resolve: 5.15.0
-      eslint: 8.56.0
-      eslint-module-utils: 2.8.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected])
-      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
-      fast-glob: 3.3.2
-      get-tsconfig: 4.7.2
-      is-core-module: 2.13.1
-      is-glob: 4.0.3
-    transitivePeerDependencies:
-      - '@typescript-eslint/parser'
-      - eslint-import-resolver-node
-      - eslint-import-resolver-webpack
-      - supports-color
-
   [email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected])):
     dependencies:
       debug: 4.4.3
@@ -8956,40 +8654,29 @@ snapshots:
       - eslint-import-resolver-webpack
       - supports-color
 
-  [email protected]([email protected])([email protected]):
+  [email protected]([email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected])))([email protected]([email protected])):
     dependencies:
       '@nolyfill/is-core-module': 1.0.39
       debug: 4.4.3
       enhanced-resolve: 5.18.1
-      eslint: 8.56.0
+      eslint: 9.36.0([email protected])
       get-tsconfig: 4.10.0
       is-bun-module: 1.3.0
       stable-hash: 0.0.4
       tinyglobby: 0.2.12
     optionalDependencies:
-      eslint-plugin-import: 2.31.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+      eslint-plugin-import: 2.31.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected])))([email protected]([email protected])))([email protected]([email protected]))
     transitivePeerDependencies:
       - supports-color
 
-  [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected]):
+  [email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected])))([email protected]([email protected])))([email protected]([email protected])):
     dependencies:
       debug: 3.2.7
     optionalDependencies:
-      '@typescript-eslint/parser': 8.25.0([email protected])([email protected])
-      eslint: 8.56.0
-      eslint-import-resolver-node: 0.3.9
-      eslint-import-resolver-typescript: 3.8.3([email protected])([email protected])
-    transitivePeerDependencies:
-      - supports-color
-
-  [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected]):
-    dependencies:
-      debug: 3.2.7
-    optionalDependencies:
-      '@typescript-eslint/parser': 6.21.0([email protected])([email protected])
-      eslint: 8.56.0
+      '@typescript-eslint/parser': 8.25.0([email protected]([email protected]))([email protected])
+      eslint: 9.36.0([email protected])
       eslint-import-resolver-node: 0.3.9
-      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
+      eslint-import-resolver-typescript: 3.8.3([email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected])))([email protected]([email protected]))
     transitivePeerDependencies:
       - supports-color
 
@@ -9004,45 +8691,12 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  [email protected]([email protected]):
-    dependencies:
-      escape-string-regexp: 1.0.5
-      eslint: 8.56.0
-      ignore: 5.3.2
-
   [email protected]([email protected]([email protected])):
     dependencies:
       escape-string-regexp: 1.0.5
       eslint: 9.36.0([email protected])
       ignore: 5.3.2
 
-  [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]):
-    dependencies:
-      array-includes: 3.1.7
-      array.prototype.findlastindex: 1.2.4
-      array.prototype.flat: 1.3.2
-      array.prototype.flatmap: 1.3.2
-      debug: 3.2.7
-      doctrine: 2.1.0
-      eslint: 8.56.0
-      eslint-import-resolver-node: 0.3.9
-      eslint-module-utils: 2.8.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected])
-      hasown: 2.0.1
-      is-core-module: 2.13.1
-      is-glob: 4.0.3
-      minimatch: 3.1.2
-      object.fromentries: 2.0.7
-      object.groupby: 1.0.2
-      object.values: 1.1.7
-      semver: 6.3.1
-      tsconfig-paths: 3.15.0
-    optionalDependencies:
-      '@typescript-eslint/parser': 6.21.0([email protected])([email protected])
-    transitivePeerDependencies:
-      - eslint-import-resolver-typescript
-      - eslint-import-resolver-webpack
-      - supports-color
-
   [email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected])):
     dependencies:
       array-includes: 3.1.7
@@ -9070,7 +8724,7 @@ snapshots:
       - eslint-import-resolver-webpack
       - supports-color
 
-  [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]):
+  [email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected])))([email protected]([email protected])))([email protected]([email protected])):
     dependencies:
       '@rtsao/scc': 1.1.0
       array-includes: 3.1.8
@@ -9079,9 +8733,9 @@ snapshots:
       array.prototype.flatmap: 1.3.3
       debug: 3.2.7
       doctrine: 2.1.0
-      eslint: 8.56.0
+      eslint: 9.36.0([email protected])
       eslint-import-resolver-node: 0.3.9
-      eslint-module-utils: 2.12.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])([email protected])
+      eslint-module-utils: 2.12.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected])))([email protected]([email protected])))([email protected]([email protected]))
       hasown: 2.0.2
       is-core-module: 2.16.1
       is-glob: 4.0.3
@@ -9093,23 +8747,12 @@ snapshots:
       string.prototype.trimend: 1.0.9
       tsconfig-paths: 3.15.0
     optionalDependencies:
-      '@typescript-eslint/parser': 8.25.0([email protected])([email protected])
+      '@typescript-eslint/parser': 8.25.0([email protected]([email protected]))([email protected])
     transitivePeerDependencies:
       - eslint-import-resolver-typescript
       - eslint-import-resolver-webpack
       - supports-color
 
-  [email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]):
-    dependencies:
-      '@typescript-eslint/utils': 5.62.0([email protected])([email protected])
-      eslint: 8.56.0
-    optionalDependencies:
-      '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])
-      jest: 29.7.0(@types/[email protected])([email protected](@types/[email protected])([email protected]))
-    transitivePeerDependencies:
-      - supports-color
-      - typescript
-
   [email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]):
     dependencies:
       '@typescript-eslint/utils': 5.62.0([email protected]([email protected]))([email protected])
@@ -9121,7 +8764,7 @@ snapshots:
       - supports-color
       - typescript
 
-  [email protected]([email protected]):
+  [email protected]([email protected]([email protected])):
     dependencies:
       aria-query: 5.3.2
       array-includes: 3.1.8
@@ -9131,7 +8774,7 @@ snapshots:
       axobject-query: 4.1.0
       damerau-levenshtein: 1.0.8
       emoji-regex: 9.2.2
-      eslint: 8.56.0
+      eslint: 9.36.0([email protected])
       hasown: 2.0.2
       jsx-ast-utils: 3.3.5
       language-tags: 1.0.9
@@ -9140,26 +8783,6 @@ snapshots:
       safe-regex-test: 1.1.0
       string.prototype.includes: 2.0.1
 
-  [email protected]([email protected]):
-    dependencies:
-      '@babel/runtime': 7.25.6
-      aria-query: 5.3.0
-      array-includes: 3.1.7
-      array.prototype.flatmap: 1.3.2
-      ast-types-flow: 0.0.8
-      axe-core: 4.7.0
-      axobject-query: 3.2.1
-      damerau-levenshtein: 1.0.8
-      emoji-regex: 9.2.2
-      es-iterator-helpers: 1.0.15
-      eslint: 8.56.0
-      hasown: 2.0.0
-      jsx-ast-utils: 3.3.5
-      language-tags: 1.0.9
-      minimatch: 3.1.2
-      object.entries: 1.1.7
-      object.fromentries: 2.0.7
-
   [email protected]([email protected]([email protected])):
     dependencies:
       '@babel/runtime': 7.25.6
@@ -9180,49 +8803,19 @@ snapshots:
       object.entries: 1.1.7
       object.fromentries: 2.0.7
 
-  [email protected]([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected]):
-    dependencies:
-      eslint: 8.56.0
-    optionalDependencies:
-      eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
-
   [email protected]([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected]([email protected])):
     dependencies:
       eslint: 9.36.0([email protected])
     optionalDependencies:
       eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
 
-  [email protected]([email protected]):
-    dependencies:
-      eslint: 8.56.0
-
   [email protected]([email protected]([email protected])):
     dependencies:
       eslint: 9.36.0([email protected])
 
-  [email protected]([email protected]):
+  [email protected]([email protected]([email protected])):
     dependencies:
-      eslint: 8.56.0
-
-  [email protected]([email protected]):
-    dependencies:
-      array-includes: 3.1.7
-      array.prototype.flatmap: 1.3.2
-      array.prototype.tosorted: 1.1.2
-      doctrine: 2.1.0
-      es-iterator-helpers: 1.0.15
-      eslint: 8.56.0
-      estraverse: 5.3.0
-      jsx-ast-utils: 3.3.5
-      minimatch: 3.1.2
-      object.entries: 1.1.7
-      object.fromentries: 2.0.7
-      object.hasown: 1.1.3
-      object.values: 1.1.7
-      prop-types: 15.8.1
-      resolve: 2.0.0-next.5
-      semver: 6.3.1
-      string.prototype.matchall: 4.0.10
+      eslint: 9.36.0([email protected])
 
   [email protected]([email protected]([email protected])):
     dependencies:
@@ -9244,7 +8837,7 @@ snapshots:
       semver: 6.3.1
       string.prototype.matchall: 4.0.10
 
-  [email protected]([email protected]):
+  [email protected]([email protected]([email protected])):
     dependencies:
       array-includes: 3.1.8
       array.prototype.findlast: 1.2.5
@@ -9252,7 +8845,7 @@ snapshots:
       array.prototype.tosorted: 1.1.4
       doctrine: 2.1.0
       es-iterator-helpers: 1.2.1
-      eslint: 8.56.0
+      eslint: 9.36.0([email protected])
       estraverse: 5.3.0
       hasown: 2.0.2
       jsx-ast-utils: 3.3.5
@@ -9266,14 +8859,6 @@ snapshots:
       string.prototype.matchall: 4.0.12
       string.prototype.repeat: 1.0.0
 
-  [email protected]([email protected])([email protected]):
-    dependencies:
-      '@typescript-eslint/utils': 5.62.0([email protected])([email protected])
-      eslint: 8.56.0
-    transitivePeerDependencies:
-      - supports-color
-      - typescript
-
   [email protected]([email protected]([email protected]))([email protected]):
     dependencies:
       '@typescript-eslint/utils': 5.62.0([email protected]([email protected]))([email protected])
@@ -9293,25 +8878,6 @@ snapshots:
       eslint: 9.36.0([email protected])
       turbo: 2.4.4
 
-  [email protected]([email protected]):
-    dependencies:
-      '@babel/helper-validator-identifier': 7.22.20
-      '@eslint-community/eslint-utils': 4.4.1([email protected])
-      ci-info: 3.9.0
-      clean-regexp: 1.0.0
-      eslint: 8.56.0
-      esquery: 1.5.0
-      indent-string: 4.0.0
-      is-builtin-module: 3.2.1
-      jsesc: 3.0.2
-      lodash: 4.17.21
-      pluralize: 8.0.0
-      read-pkg-up: 7.0.1
-      regexp-tree: 0.1.27
-      regjsparser: 0.10.0
-      semver: 7.6.3
-      strip-indent: 3.0.0
-
   [email protected]([email protected]([email protected])):
     dependencies:
       '@babel/helper-validator-identifier': 7.22.20
@@ -9336,11 +8902,6 @@ snapshots:
       esrecurse: 4.3.0
       estraverse: 4.3.0
 
-  [email protected]:
-    dependencies:
-      esrecurse: 4.3.0
-      estraverse: 5.3.0
-
   [email protected]:
     dependencies:
       esrecurse: 4.3.0
@@ -9354,49 +8915,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]:
-    dependencies:
-      '@eslint-community/eslint-utils': 4.4.0([email protected])
-      '@eslint-community/regexpp': 4.10.0
-      '@eslint/eslintrc': 2.1.4
-      '@eslint/js': 8.56.0
-      '@humanwhocodes/config-array': 0.11.14
-      '@humanwhocodes/module-importer': 1.0.1
-      '@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
-      escape-string-regexp: 4.0.0
-      eslint-scope: 7.2.2
-      eslint-visitor-keys: 3.4.3
-      espree: 9.6.1
-      esquery: 1.5.0
-      esutils: 2.0.3
-      fast-deep-equal: 3.1.3
-      file-entry-cache: 6.0.1
-      find-up: 5.0.0
-      glob-parent: 6.0.2
-      globals: 13.24.0
-      graphemer: 1.4.0
-      ignore: 5.3.1
-      imurmurhash: 0.1.4
-      is-glob: 4.0.3
-      is-path-inside: 3.0.3
-      js-yaml: 4.1.0
-      json-stable-stringify-without-jsonify: 1.0.1
-      levn: 0.4.1
-      lodash.merge: 4.6.2
-      minimatch: 3.1.2
-      natural-compare: 1.4.0
-      optionator: 0.9.3
-      strip-ansi: 6.0.1
-      text-table: 0.2.0
-    transitivePeerDependencies:
-      - supports-color
-
   [email protected]([email protected]):
     dependencies:
       '@eslint-community/eslint-utils': 4.9.0([email protected]([email protected]))
@@ -9445,12 +8963,6 @@ snapshots:
       acorn-jsx: 5.3.2([email protected])
       eslint-visitor-keys: 4.2.1
 
-  [email protected]:
-    dependencies:
-      acorn: 8.11.3
-      acorn-jsx: 5.3.2([email protected])
-      eslint-visitor-keys: 3.4.3
-
   [email protected]: {}
 
   [email protected]:
@@ -9553,10 +9065,6 @@ snapshots:
     optionalDependencies:
       picomatch: 4.0.2
 
-  [email protected]:
-    dependencies:
-      flat-cache: 3.2.0
-
   [email protected]:
     dependencies:
       flat-cache: 4.0.1
@@ -9579,12 +9087,6 @@ snapshots:
       locate-path: 6.0.0
       path-exists: 4.0.0
 
-  [email protected]:
-    dependencies:
-      flatted: 3.2.9
-      keyv: 4.5.4
-      rimraf: 3.0.2
-
   [email protected]:
     dependencies:
       flatted: 3.2.9
@@ -9791,10 +9293,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]:
-    dependencies:
-      type-fest: 0.20.2
-
   [email protected]: {}
 
   [email protected]:
@@ -9941,8 +9439,6 @@ snapshots:
     dependencies:
       safer-buffer: 2.1.2
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]:
@@ -10129,8 +9625,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]: {}
@@ -11020,8 +10514,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]:
@@ -11617,10 +11109,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]:
-    dependencies:
-      glob: 7.2.3
-
   [email protected]:
     dependencies:
       '@types/estree': 1.0.6
@@ -12104,8 +11592,6 @@ snapshots:
       glob: 7.2.3
       minimatch: 3.1.2
 
-  [email protected]: {}
-
   [email protected]:
     dependencies:
       thenify: 3.3.1
@@ -12369,8 +11855,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]: {}
diff --git a/test/next/package.json b/test/next/package.json
index 5244823..9daf5f0 100644
--- a/test/next/package.json
+++ b/test/next/package.json
@@ -23,7 +23,7 @@
     "autoprefixer": "^10.4.20",
     "axios": "^1.8.1",
     "dotenv": "^16.4.7",
-    "eslint": "^8.56.0",
+    "eslint": "9.36.0",
     "eslint-config-next": "^15.2.0",
     "got": "^14.4.6",
     "kysely": "^0.27.5",

Analysis

ESLint version inconsistency breaks linting across monorepo packages

What fails: test/next/package.json specifies eslint: ^8.56.0 while all other packages use eslint: 9.36.0, causing ESLint to fail in packages depending on workspace configurations

How to reproduce:

cd packages/postgres && pnpm run lint
# or
cd packages/kv && pnpm run lint

Result: Error - "ESLint couldn't find an eslint.config.(js|mjs|cjs) file. From ESLint v9.0.0, the default configuration file is now eslint.config.js"

Expected: Linting should work consistently across all packages using the same ESLint configuration format

Root cause: ESLint 9.x uses the new flat config format (eslint.config.js) while ESLint 8.x uses the legacy format (.eslintrc.*). Mixed versions cause configuration compatibility issues in workspace environments.

"@changesets/cli": "2.28.1",
"@vercel/style-guide": "5.2.0",
"eslint": "8.56.0",
"eslint": "9.37.0",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ESLint 9.37.0 is incompatible with the project's ESLint configuration dependencies. The upgrade will cause runtime errors when running linting.

View Details
📝 Patch Details
diff --git a/package.json b/package.json
index d8b11f0..47d923f 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
   "devDependencies": {
     "@changesets/cli": "2.28.1",
     "@vercel/style-guide": "5.2.0",
-    "eslint": "9.37.0",
+    "eslint": "8.56.0",
     "eslint-config-custom": "workspace:*",
     "husky": "9.1.7",
     "jest": "29.7.0",
diff --git a/packages/blob/package.json b/packages/blob/package.json
index 84a9338..3be5cf8 100644
--- a/packages/blob/package.json
+++ b/packages/blob/package.json
@@ -72,7 +72,7 @@
     "@types/async-retry": "1.4.9",
     "@types/jest": "29.5.14",
     "@types/node": "22.13.5",
-    "eslint": "9.37.0",
+    "eslint": "8.56.0",
     "eslint-config-custom": "workspace:*",
     "jest": "29.7.0",
     "jest-environment-jsdom": "29.7.0",
diff --git a/packages/edge-config/package.json b/packages/edge-config/package.json
index 51154dd..2c49d96 100644
--- a/packages/edge-config/package.json
+++ b/packages/edge-config/package.json
@@ -49,7 +49,7 @@
     "@edge-runtime/types": "2.2.9",
     "@types/jest": "29.5.14",
     "@types/node": "22.13.5",
-    "eslint": "9.37.0",
+    "eslint": "8.56.0",
     "eslint-config-custom": "workspace:*",
     "jest": "29.7.0",
     "jest-fetch-mock": "3.0.3",
diff --git a/packages/kv/package.json b/packages/kv/package.json
index fff4a13..370744c 100644
--- a/packages/kv/package.json
+++ b/packages/kv/package.json
@@ -51,7 +51,7 @@
     "@edge-runtime/types": "2.2.9",
     "@types/jest": "29.5.14",
     "@types/node": "22.10.7",
-    "eslint": "9.37.0",
+    "eslint": "8.56.0",
     "eslint-config-custom": "workspace:*",
     "husky": "9.1.7",
     "jest": "29.7.0",
diff --git a/packages/postgres-kysely/package.json b/packages/postgres-kysely/package.json
index e6c1b85..2a61770 100644
--- a/packages/postgres-kysely/package.json
+++ b/packages/postgres-kysely/package.json
@@ -54,7 +54,7 @@
     "@types/jest": "29.5.14",
     "@types/node": "22.10.7",
     "@types/ws": "8.5.13",
-    "eslint": "9.37.0",
+    "eslint": "8.56.0",
     "eslint-config-custom": "workspace:*",
     "jest": "29.7.0",
     "kysely": "0.27.5",
diff --git a/packages/postgres/package.json b/packages/postgres/package.json
index 79198fc..bd8c18f 100644
--- a/packages/postgres/package.json
+++ b/packages/postgres/package.json
@@ -55,7 +55,7 @@
     "@types/jest": "29.5.14",
     "@types/node": "22.10.7",
     "@types/ws": "8.5.13",
-    "eslint": "9.37.0",
+    "eslint": "8.56.0",
     "eslint-config-custom": "workspace:*",
     "jest": "29.7.0",
     "prettier": "3.4.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6e4abbd..8b326d5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,10 +13,10 @@ importers:
         version: 2.28.1
       '@vercel/style-guide':
         specifier: 5.2.0
-        version: 5.2.0(@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
+        version: 5.2.0(@next/[email protected])([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
       eslint:
-        specifier: 9.37.0
-        version: 9.37.0([email protected])
+        specifier: 8.56.0
+        version: 8.56.0
       eslint-config-custom:
         specifier: workspace:*
         version: link:tooling/eslint-config-custom
@@ -79,8 +79,8 @@ importers:
         specifier: 22.13.5
         version: 22.13.5
       eslint:
-        specifier: 9.37.0
-        version: 9.37.0([email protected])
+        specifier: 8.56.0
+        version: 8.56.0
       eslint-config-custom:
         specifier: workspace:*
         version: link:../../tooling/eslint-config-custom
@@ -125,8 +125,8 @@ importers:
         specifier: 22.13.5
         version: 22.13.5
       eslint:
-        specifier: 9.37.0
-        version: 9.37.0([email protected])
+        specifier: 8.56.0
+        version: 8.56.0
       eslint-config-custom:
         specifier: workspace:*
         version: link:../../tooling/eslint-config-custom
@@ -179,8 +179,8 @@ importers:
         specifier: 22.10.7
         version: 22.10.7
       eslint:
-        specifier: 9.37.0
-        version: 9.37.0([email protected])
+        specifier: 8.56.0
+        version: 8.56.0
       eslint-config-custom:
         specifier: workspace:*
         version: link:../../tooling/eslint-config-custom
@@ -240,8 +240,8 @@ importers:
         specifier: 8.5.13
         version: 8.5.13
       eslint:
-        specifier: 9.37.0
-        version: 9.37.0([email protected])
+        specifier: 8.56.0
+        version: 8.56.0
       eslint-config-custom:
         specifier: workspace:*
         version: link:../../tooling/eslint-config-custom
@@ -292,8 +292,8 @@ importers:
         specifier: 8.5.13
         version: 8.5.13
       eslint:
-        specifier: 9.37.0
-        version: 9.37.0([email protected])
+        specifier: 8.56.0
+        version: 8.56.0
       eslint-config-custom:
         specifier: workspace:*
         version: link:../../tooling/eslint-config-custom
@@ -411,13 +411,13 @@ importers:
     dependencies:
       '@vercel/style-guide':
         specifier: 5.2.0
-        version: 5.2.0(@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
+        version: 5.2.0(@next/[email protected])([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
       eslint:
-        specifier: 9.37.0
-        version: 9.37.0([email protected])
+        specifier: 8.56.0
+        version: 8.56.0
       eslint-config-turbo:
         specifier: ^2.4.4
-        version: 2.4.4([email protected]([email protected]))([email protected])
+        version: 2.4.4([email protected])([email protected])
       typescript:
         specifier: 5.7.3
         version: 5.7.3
@@ -426,10 +426,10 @@ importers:
     devDependencies:
       '@vercel/style-guide':
         specifier: 5.2.0
-        version: 5.2.0(@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
+        version: 5.2.0(@next/[email protected])([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])
       eslint:
-        specifier: 9.37.0
-        version: 9.37.0([email protected])
+        specifier: 8.56.0
+        version: 8.56.0
       typescript:
         specifier: 5.7.3
         version: 5.7.3
@@ -1114,12 +1114,6 @@ packages:
     cpu: [x64]
     os: [win32]
 
-  '@eslint-community/[email protected]':
-    resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-    peerDependencies:
-      eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
-
   '@eslint-community/[email protected]':
     resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -1132,62 +1126,22 @@ packages:
     peerDependencies:
       eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
 
-  '@eslint-community/[email protected]':
-    resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
-    engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
   '@eslint-community/[email protected]':
     resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
     engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
 
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-WUFvV4WoIwW8Bv0KeKCIIEgdSiFOsulyN0xrMu+7z43q/hkOLXjvb5u7UC9jDxvRzcrbEmuZBX5yJZz1741jog==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   '@eslint/[email protected]':
     resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   '@eslint/[email protected]':
     resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@eslint/[email protected]':
-    resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   '@fastify/[email protected]':
     resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
     engines: {node: '>=14'}
 
-  '@humanfs/[email protected]':
-    resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
-    engines: {node: '>=18.18.0'}
-
-  '@humanfs/[email protected]':
-    resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
-    engines: {node: '>=18.18.0'}
-
   '@humanwhocodes/[email protected]':
     resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
     engines: {node: '>=10.10.0'}
@@ -1201,10 +1155,6 @@ packages:
     resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
     deprecated: Use @eslint/object-schema instead
 
-  '@humanwhocodes/[email protected]':
-    resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
-    engines: {node: '>=18.18'}
-
   '@img/[email protected]':
     resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
     engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
@@ -2470,10 +2420,6 @@ packages:
   [email protected]:
     resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==}
 
-  [email protected]:
-    resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
-    engines: {node: '>= 8'}
-
   [email protected]:
     resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
     engines: {node: '>= 8'}
@@ -2526,15 +2472,6 @@ packages:
       supports-color:
         optional: true
 
-  [email protected]:
-    resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
-    engines: {node: '>=6.0'}
-    peerDependencies:
-      supports-color: '*'
-    peerDependenciesMeta:
-      supports-color:
-        optional: true
-
   [email protected]:
     resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
     engines: {node: '>=6.0'}
@@ -3012,10 +2949,6 @@ packages:
     resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
-  [email protected]:
-    resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   [email protected]:
     resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
     engines: {node: '>=10'}
@@ -3028,30 +2961,12 @@ packages:
     resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
     engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  [email protected]:
-    resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   [email protected]:
     resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
     deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
     hasBin: true
 
-  [email protected]:
-    resolution: {integrity: sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-    hasBin: true
-    peerDependencies:
-      jiti: '*'
-    peerDependenciesMeta:
-      jiti:
-        optional: true
-
-  [email protected]:
-    resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
   [email protected]:
     resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3146,10 +3061,6 @@ packages:
     resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
     engines: {node: ^10.12.0 || >=12.0.0}
 
-  [email protected]:
-    resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
-    engines: {node: '>=16.0.0'}
-
   [email protected]:
     resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
 
@@ -3169,10 +3080,6 @@ packages:
     resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
     engines: {node: ^10.12.0 || >=12.0.0}
 
-  [email protected]:
-    resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
-    engines: {node: '>=16'}
-
   [email protected]:
     resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
 
@@ -3347,10 +3254,6 @@ packages:
     resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
     engines: {node: '>=8'}
 
-  [email protected]:
-    resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
-    engines: {node: '>=18'}
-
   [email protected]:
     resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
     engines: {node: '>= 0.4'}
@@ -3494,10 +3397,6 @@ packages:
     resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
     engines: {node: '>=0.10.0'}
 
-  [email protected]:
-    resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
-    engines: {node: '>= 4'}
-
   [email protected]:
     resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
     engines: {node: '>= 4'}
@@ -4257,9 +4156,6 @@ packages:
     resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
     engines: {node: '>=4'}
 
-  [email protected]:
-    resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
-
   [email protected]:
     resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
 
@@ -5871,14 +5767,6 @@ snapshots:
       eslint-visitor-keys: 2.1.0
       semver: 6.3.1
 
-  '@babel/[email protected](@babel/[email protected])([email protected]([email protected]))':
-    dependencies:
-      '@babel/core': 7.23.9
-      '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
-      eslint: 9.37.0([email protected])
-      eslint-visitor-keys: 2.1.0
-      semver: 6.3.1
-
   '@babel/[email protected]':
     dependencies:
       '@babel/types': 7.22.11
@@ -6603,46 +6491,18 @@ snapshots:
   '@esbuild/[email protected]':
     optional: true
 
-  '@eslint-community/[email protected]([email protected])':
-    dependencies:
-      eslint: 8.56.0
-      eslint-visitor-keys: 3.4.3
-
   '@eslint-community/[email protected]([email protected])':
     dependencies:
       eslint: 8.56.0
       eslint-visitor-keys: 3.4.3
 
-  '@eslint-community/[email protected]([email protected]([email protected]))':
-    dependencies:
-      eslint: 9.37.0([email protected])
-      eslint-visitor-keys: 3.4.3
-
-  '@eslint-community/[email protected]([email protected]([email protected]))':
+  '@eslint-community/[email protected]([email protected])':
     dependencies:
-      eslint: 9.37.0([email protected])
+      eslint: 8.56.0
       eslint-visitor-keys: 3.4.3
 
-  '@eslint-community/[email protected]': {}
-
   '@eslint-community/[email protected]': {}
 
-  '@eslint/[email protected]':
-    dependencies:
-      '@eslint/object-schema': 2.1.6
-      debug: 4.4.3
-      minimatch: 3.1.2
-    transitivePeerDependencies:
-      - supports-color
-
-  '@eslint/[email protected]':
-    dependencies:
-      '@eslint/core': 0.16.0
-
-  '@eslint/[email protected]':
-    dependencies:
-      '@types/json-schema': 7.0.15
-
   '@eslint/[email protected]':
     dependencies:
       ajv: 6.12.6
@@ -6657,40 +6517,10 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@eslint/[email protected]':
-    dependencies:
-      ajv: 6.12.6
-      debug: 4.4.3
-      espree: 10.4.0
-      globals: 14.0.0
-      ignore: 5.3.2
-      import-fresh: 3.3.0
-      js-yaml: 4.1.0
-      minimatch: 3.1.2
-      strip-json-comments: 3.1.1
-    transitivePeerDependencies:
-      - supports-color
-
   '@eslint/[email protected]': {}
 
-  '@eslint/[email protected]': {}
-
-  '@eslint/[email protected]': {}
-
-  '@eslint/[email protected]':
-    dependencies:
-      '@eslint/core': 0.16.0
-      levn: 0.4.1
-
   '@fastify/[email protected]': {}
 
-  '@humanfs/[email protected]': {}
-
-  '@humanfs/[email protected]':
-    dependencies:
-      '@humanfs/core': 0.19.1
-      '@humanwhocodes/retry': 0.4.3
-
   '@humanwhocodes/[email protected]':
     dependencies:
       '@humanwhocodes/object-schema': 2.0.2
@@ -6703,8 +6533,6 @@ snapshots:
 
   '@humanwhocodes/[email protected]': {}
 
-  '@humanwhocodes/[email protected]': {}
-
   '@img/[email protected]':
     optionalDependencies:
       '@img/sharp-libvips-darwin-arm64': 1.0.4
@@ -7388,26 +7216,6 @@ snapshots:
     dependencies:
       '@types/yargs-parser': 21.0.0
 
-  '@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])':
-    dependencies:
-      '@eslint-community/regexpp': 4.12.1
-      '@typescript-eslint/parser': 6.21.0([email protected]([email protected]))([email protected])
-      '@typescript-eslint/scope-manager': 6.21.0
-      '@typescript-eslint/type-utils': 6.21.0([email protected]([email protected]))([email protected])
-      '@typescript-eslint/utils': 6.21.0([email protected]([email protected]))([email protected])
-      '@typescript-eslint/visitor-keys': 6.21.0
-      debug: 4.4.3
-      eslint: 9.37.0([email protected])
-      graphemer: 1.4.0
-      ignore: 5.3.2
-      natural-compare: 1.4.0
-      semver: 7.6.3
-      ts-api-utils: 1.2.1([email protected])
-    optionalDependencies:
-      typescript: 5.7.3
-    transitivePeerDependencies:
-      - supports-color
-
   '@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected])':
     dependencies:
       '@eslint-community/regexpp': 4.12.1
@@ -7458,19 +7266,6 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
-    dependencies:
-      '@typescript-eslint/scope-manager': 6.21.0
-      '@typescript-eslint/types': 6.21.0
-      '@typescript-eslint/typescript-estree': 6.21.0([email protected])
-      '@typescript-eslint/visitor-keys': 6.21.0
-      debug: 4.4.3
-      eslint: 9.37.0([email protected])
-    optionalDependencies:
-      typescript: 5.7.3
-    transitivePeerDependencies:
-      - supports-color
-
   '@typescript-eslint/[email protected]([email protected])([email protected])':
     dependencies:
       '@typescript-eslint/scope-manager': 8.25.0
@@ -7510,18 +7305,6 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
-    dependencies:
-      '@typescript-eslint/typescript-estree': 6.21.0([email protected])
-      '@typescript-eslint/utils': 6.21.0([email protected]([email protected]))([email protected])
-      debug: 4.4.3
-      eslint: 9.37.0([email protected])
-      ts-api-utils: 1.2.1([email protected])
-    optionalDependencies:
-      typescript: 5.7.3
-    transitivePeerDependencies:
-      - supports-color
-
   '@typescript-eslint/[email protected]([email protected])([email protected])':
     dependencies:
       '@typescript-eslint/typescript-estree': 8.25.0([email protected])
@@ -7597,21 +7380,6 @@ snapshots:
       - supports-color
       - typescript
 
-  '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
-    dependencies:
-      '@eslint-community/eslint-utils': 4.4.1([email protected]([email protected]))
-      '@types/json-schema': 7.0.15
-      '@types/semver': 7.5.7
-      '@typescript-eslint/scope-manager': 5.62.0
-      '@typescript-eslint/types': 5.62.0
-      '@typescript-eslint/typescript-estree': 5.62.0([email protected])
-      eslint: 9.37.0([email protected])
-      eslint-scope: 5.1.1
-      semver: 7.7.1
-    transitivePeerDependencies:
-      - supports-color
-      - typescript
-
   '@typescript-eslint/[email protected]([email protected])([email protected])':
     dependencies:
       '@eslint-community/eslint-utils': 4.4.1([email protected])
@@ -7626,20 +7394,6 @@ snapshots:
       - supports-color
       - typescript
 
-  '@typescript-eslint/[email protected]([email protected]([email protected]))([email protected])':
-    dependencies:
-      '@eslint-community/eslint-utils': 4.4.1([email protected]([email protected]))
-      '@types/json-schema': 7.0.15
-      '@types/semver': 7.5.7
-      '@typescript-eslint/scope-manager': 6.21.0
-      '@typescript-eslint/types': 6.21.0
-      '@typescript-eslint/typescript-estree': 6.21.0([email protected])
-      eslint: 9.37.0([email protected])
-      semver: 7.6.3
-    transitivePeerDependencies:
-      - supports-color
-      - typescript
-
   '@typescript-eslint/[email protected]([email protected])([email protected])':
     dependencies:
       '@eslint-community/eslint-utils': 4.4.1([email protected])
@@ -7704,38 +7458,6 @@ snapshots:
       - jest
       - supports-color
 
-  '@vercel/[email protected](@next/[email protected])([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])([email protected])':
-    dependencies:
-      '@babel/core': 7.23.9
-      '@babel/eslint-parser': 7.23.10(@babel/[email protected])([email protected]([email protected]))
-      '@rushstack/eslint-patch': 1.7.2
-      '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])
-      '@typescript-eslint/parser': 6.21.0([email protected]([email protected]))([email protected])
-      eslint-config-prettier: 9.1.0([email protected]([email protected]))
-      eslint-import-resolver-alias: 1.1.2([email protected])
-      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected]))
-      eslint-plugin-eslint-comments: 3.2.0([email protected]([email protected]))
-      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected]))
-      eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
-      eslint-plugin-jsx-a11y: 6.8.0([email protected]([email protected]))
-      eslint-plugin-playwright: 0.16.0([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected]([email protected]))
-      eslint-plugin-react: 7.33.2([email protected]([email protected]))
-      eslint-plugin-react-hooks: 4.6.0([email protected]([email protected]))
-      eslint-plugin-testing-library: 6.2.0([email protected]([email protected]))([email protected])
-      eslint-plugin-tsdoc: 0.2.17
-      eslint-plugin-unicorn: 48.0.1([email protected]([email protected]))
-      prettier-plugin-packagejson: 2.4.11([email protected])
-    optionalDependencies:
-      '@next/eslint-plugin-next': 14.2.23
-      eslint: 9.37.0([email protected])
-      prettier: 3.5.2
-      typescript: 5.7.3
-    transitivePeerDependencies:
-      - eslint-import-resolver-node
-      - eslint-import-resolver-webpack
-      - jest
-      - supports-color
-
   [email protected]: {}
 
   [email protected]:
@@ -7743,10 +7465,6 @@ snapshots:
       acorn: 8.11.3
       acorn-walk: 8.2.0
 
-  [email protected]([email protected]):
-    dependencies:
-      acorn: 8.11.3
-
   [email protected]([email protected]):
     dependencies:
       acorn: 8.15.0
@@ -8378,12 +8096,6 @@ snapshots:
     transitivePeerDependencies:
       - encoding
 
-  [email protected]:
-    dependencies:
-      path-key: 3.1.1
-      shebang-command: 2.0.0
-      which: 2.0.2
-
   [email protected]:
     dependencies:
       path-key: 3.1.1
@@ -8434,10 +8146,6 @@ snapshots:
     dependencies:
       ms: 2.1.3
 
-  [email protected]:
-    dependencies:
-      ms: 2.1.2
-
   [email protected]:
     dependencies:
       ms: 2.1.3
@@ -8889,14 +8597,10 @@ snapshots:
     dependencies:
       eslint: 8.56.0
 
-  [email protected]([email protected]([email protected])):
+  [email protected]([email protected])([email protected]):
     dependencies:
-      eslint: 9.37.0([email protected])
-
-  [email protected]([email protected]([email protected]))([email protected]):
-    dependencies:
-      eslint: 9.37.0([email protected])
-      eslint-plugin-turbo: 2.4.4([email protected]([email protected]))([email protected])
+      eslint: 8.56.0
+      eslint-plugin-turbo: 2.4.4([email protected])([email protected])
       turbo: 2.4.4
 
   [email protected]([email protected]):
@@ -8928,23 +8632,6 @@ snapshots:
       - eslint-import-resolver-webpack
       - supports-color
 
-  [email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected])):
-    dependencies:
-      debug: 4.4.3
-      enhanced-resolve: 5.15.0
-      eslint: 9.37.0([email protected])
-      eslint-module-utils: 2.8.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected])([email protected]([email protected]))
-      eslint-plugin-import: 2.29.1(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected]))
-      fast-glob: 3.3.2
-      get-tsconfig: 4.7.2
-      is-core-module: 2.13.1
-      is-glob: 4.0.3
-    transitivePeerDependencies:
-      - '@typescript-eslint/parser'
-      - eslint-import-resolver-node
-      - eslint-import-resolver-webpack
-      - supports-color
-
   [email protected]([email protected])([email protected]):
     dependencies:
       '@nolyfill/is-core-module': 1.0.39
@@ -8982,29 +8669,12 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  [email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected])([email protected]([email protected])):
-    dependencies:
-      debug: 3.2.7
-    optionalDependencies:
-      '@typescript-eslint/parser': 6.21.0([email protected]([email protected]))([email protected])
-      eslint: 9.37.0([email protected])
-      eslint-import-resolver-node: 0.3.9
-      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected]))
-    transitivePeerDependencies:
-      - supports-color
-
   [email protected]([email protected]):
     dependencies:
       escape-string-regexp: 1.0.5
       eslint: 8.56.0
       ignore: 5.3.2
 
-  [email protected]([email protected]([email protected])):
-    dependencies:
-      escape-string-regexp: 1.0.5
-      eslint: 9.37.0([email protected])
-      ignore: 5.3.2
-
   [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]):
     dependencies:
       array-includes: 3.1.7
@@ -9032,33 +8702,6 @@ snapshots:
       - eslint-import-resolver-webpack
       - supports-color
 
-  [email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected]([email protected])):
-    dependencies:
-      array-includes: 3.1.7
-      array.prototype.findlastindex: 1.2.4
-      array.prototype.flat: 1.3.2
-      array.prototype.flatmap: 1.3.2
-      debug: 3.2.7
-      doctrine: 2.1.0
-      eslint: 9.37.0([email protected])
-      eslint-import-resolver-node: 0.3.9
-      eslint-module-utils: 2.8.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected])([email protected])([email protected]([email protected]))
-      hasown: 2.0.1
-      is-core-module: 2.13.1
-      is-glob: 4.0.3
-      minimatch: 3.1.2
-      object.fromentries: 2.0.7
-      object.groupby: 1.0.2
-      object.values: 1.1.7
-      semver: 6.3.1
-      tsconfig-paths: 3.15.0
-    optionalDependencies:
-      '@typescript-eslint/parser': 6.21.0([email protected]([email protected]))([email protected])
-    transitivePeerDependencies:
-      - eslint-import-resolver-typescript
-      - eslint-import-resolver-webpack
-      - supports-color
-
   [email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]):
     dependencies:
       '@rtsao/scc': 1.1.0
@@ -9099,17 +8742,6 @@ snapshots:
       - supports-color
       - typescript
 
-  [email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]):
-    dependencies:
-      '@typescript-eslint/utils': 5.62.0([email protected]([email protected]))([email protected])
-      eslint: 9.37.0([email protected])
-    optionalDependencies:
-      '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected])
-      jest: 29.7.0(@types/[email protected])([email protected](@types/[email protected])([email protected]))
-    transitivePeerDependencies:
-      - supports-color
-      - typescript
-
   [email protected]([email protected]):
     dependencies:
       aria-query: 5.3.2
@@ -9149,46 +8781,16 @@ snapshots:
       object.entries: 1.1.7
       object.fromentries: 2.0.7
 
-  [email protected]([email protected]([email protected])):
-    dependencies:
-      '@babel/runtime': 7.25.6
-      aria-query: 5.3.0
-      array-includes: 3.1.7
-      array.prototype.flatmap: 1.3.2
-      ast-types-flow: 0.0.8
-      axe-core: 4.7.0
-      axobject-query: 3.2.1
-      damerau-levenshtein: 1.0.8
-      emoji-regex: 9.2.2
-      es-iterator-helpers: 1.0.15
-      eslint: 9.37.0([email protected])
-      hasown: 2.0.0
-      jsx-ast-utils: 3.3.5
-      language-tags: 1.0.9
-      minimatch: 3.1.2
-      object.entries: 1.1.7
-      object.fromentries: 2.0.7
-
   [email protected]([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected]):
     dependencies:
       eslint: 8.56.0
     optionalDependencies:
       eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected])([email protected]))([email protected])([email protected]))([email protected])([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
 
-  [email protected]([email protected](@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected]))([email protected]([email protected])):
-    dependencies:
-      eslint: 9.37.0([email protected])
-    optionalDependencies:
-      eslint-plugin-jest: 27.8.0(@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected]))([email protected]([email protected]))([email protected](@types/[email protected])([email protected](@types/[email protected])([email protected])))([email protected])
-
   [email protected]([email protected]):
     dependencies:
       eslint: 8.56.0
 
-  [email protected]([email protected]([email protected])):
-    dependencies:
-      eslint: 9.37.0([email protected])
-
   [email protected]([email protected]):
     dependencies:
       eslint: 8.56.0
@@ -9213,26 +8815,6 @@ snapshots:
       semver: 6.3.1
       string.prototype.matchall: 4.0.10
 
-  [email protected]([email protected]([email protected])):
-    dependencies:
-      array-includes: 3.1.7
-      array.prototype.flatmap: 1.3.2
-      array.prototype.tosorted: 1.1.2
-      doctrine: 2.1.0
-      es-iterator-helpers: 1.0.15
-      eslint: 9.37.0([email protected])
-      estraverse: 5.3.0
-      jsx-ast-utils: 3.3.5
-      minimatch: 3.1.2
-      object.entries: 1.1.7
-      object.fromentries: 2.0.7
-      object.hasown: 1.1.3
-      object.values: 1.1.7
-      prop-types: 15.8.1
-      resolve: 2.0.0-next.5
-      semver: 6.3.1
-      string.prototype.matchall: 4.0.10
-
   [email protected]([email protected]):
     dependencies:
       array-includes: 3.1.8
@@ -9263,23 +8845,15 @@ snapshots:
       - supports-color
       - typescript
 
-  [email protected]([email protected]([email protected]))([email protected]):
-    dependencies:
-      '@typescript-eslint/utils': 5.62.0([email protected]([email protected]))([email protected])
-      eslint: 9.37.0([email protected])
-    transitivePeerDependencies:
-      - supports-color
-      - typescript
-
   [email protected]:
     dependencies:
       '@microsoft/tsdoc': 0.14.2
       '@microsoft/tsdoc-config': 0.16.2
 
-  [email protected]([email protected]([email protected]))([email protected]):
+  [email protected]([email protected])([email protected]):
     dependencies:
       dotenv: 16.0.3
-      eslint: 9.37.0([email protected])
+      eslint: 8.56.0
       turbo: 2.4.4
 
   [email protected]([email protected]):
@@ -9301,25 +8875,6 @@ snapshots:
       semver: 7.6.3
       strip-indent: 3.0.0
 
-  [email protected]([email protected]([email protected])):
-    dependencies:
-      '@babel/helper-validator-identifier': 7.22.20
-      '@eslint-community/eslint-utils': 4.4.1([email protected]([email protected]))
-      ci-info: 3.9.0
-      clean-regexp: 1.0.0
-      eslint: 9.37.0([email protected])
-      esquery: 1.5.0
-      indent-string: 4.0.0
-      is-builtin-module: 3.2.1
-      jsesc: 3.0.2
-      lodash: 4.17.21
-      pluralize: 8.0.0
-      read-pkg-up: 7.0.1
-      regexp-tree: 0.1.27
-      regjsparser: 0.10.0
-      semver: 7.6.3
-      strip-indent: 3.0.0
-
   [email protected]:
     dependencies:
       esrecurse: 4.3.0
@@ -9330,23 +8885,16 @@ snapshots:
       esrecurse: 4.3.0
       estraverse: 5.3.0
 
-  [email protected]:
-    dependencies:
-      esrecurse: 4.3.0
-      estraverse: 5.3.0
-
   [email protected]: {}
 
   [email protected]: {}
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]:
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0([email protected])
-      '@eslint-community/regexpp': 4.10.0
+      '@eslint-community/eslint-utils': 4.9.0([email protected])
+      '@eslint-community/regexpp': 4.12.1
       '@eslint/eslintrc': 2.1.4
       '@eslint/js': 8.56.0
       '@humanwhocodes/config-array': 0.11.14
@@ -9355,8 +8903,8 @@ snapshots:
       '@ungap/structured-clone': 1.2.0
       ajv: 6.12.6
       chalk: 4.1.2
-      cross-spawn: 7.0.3
-      debug: 4.3.4
+      cross-spawn: 7.0.6
+      debug: 4.4.3
       doctrine: 3.0.0
       escape-string-regexp: 4.0.0
       eslint-scope: 7.2.2
@@ -9370,7 +8918,7 @@ snapshots:
       glob-parent: 6.0.2
       globals: 13.24.0
       graphemer: 1.4.0
-      ignore: 5.3.1
+      ignore: 5.3.2
       imurmurhash: 0.1.4
       is-glob: 4.0.3
       is-path-inside: 3.0.3
@@ -9386,58 +8934,10 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  [email protected]([email protected]):
-    dependencies:
-      '@eslint-community/eslint-utils': 4.9.0([email protected]([email protected]))
-      '@eslint-community/regexpp': 4.12.1
-      '@eslint/config-array': 0.21.0
-      '@eslint/config-helpers': 0.4.0
-      '@eslint/core': 0.16.0
-      '@eslint/eslintrc': 3.3.1
-      '@eslint/js': 9.37.0
-      '@eslint/plugin-kit': 0.4.0
-      '@humanfs/node': 0.16.7
-      '@humanwhocodes/module-importer': 1.0.1
-      '@humanwhocodes/retry': 0.4.3
-      '@types/estree': 1.0.6
-      '@types/json-schema': 7.0.15
-      ajv: 6.12.6
-      chalk: 4.1.2
-      cross-spawn: 7.0.6
-      debug: 4.4.3
-      escape-string-regexp: 4.0.0
-      eslint-scope: 8.4.0
-      eslint-visitor-keys: 4.2.1
-      espree: 10.4.0
-      esquery: 1.5.0
-      esutils: 2.0.3
-      fast-deep-equal: 3.1.3
-      file-entry-cache: 8.0.0
-      find-up: 5.0.0
-      glob-parent: 6.0.2
-      ignore: 5.3.2
-      imurmurhash: 0.1.4
-      is-glob: 4.0.3
-      json-stable-stringify-without-jsonify: 1.0.1
-      lodash.merge: 4.6.2
-      minimatch: 3.1.2
-      natural-compare: 1.4.0
-      optionator: 0.9.3
-    optionalDependencies:
-      jiti: 1.21.7
-    transitivePeerDependencies:
-      - supports-color
-
-  [email protected]:
+  [email protected]:
     dependencies:
       acorn: 8.15.0
       acorn-jsx: 5.3.2([email protected])
-      eslint-visitor-keys: 4.2.1
-
-  [email protected]:
-    dependencies:
-      acorn: 8.11.3
-      acorn-jsx: 5.3.2([email protected])
       eslint-visitor-keys: 3.4.3
 
   [email protected]: {}
@@ -9546,10 +9046,6 @@ snapshots:
     dependencies:
       flat-cache: 3.2.0
 
-  [email protected]:
-    dependencies:
-      flat-cache: 4.0.1
-
   [email protected]:
     dependencies:
       minimatch: 5.1.6
@@ -9574,11 +9070,6 @@ snapshots:
       keyv: 4.5.4
       rimraf: 3.0.2
 
-  [email protected]:
-    dependencies:
-      flatted: 3.2.9
-      keyv: 4.5.4
-
   [email protected]: {}
 
   [email protected]: {}
@@ -9784,8 +9275,6 @@ snapshots:
     dependencies:
       type-fest: 0.20.2
 
-  [email protected]: {}
-
   [email protected]:
     dependencies:
       define-properties: 1.2.1
@@ -9930,8 +9419,6 @@ snapshots:
     dependencies:
       safer-buffer: 2.1.2
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]:
@@ -11009,8 +10496,6 @@ snapshots:
 
   [email protected]: {}
 
-  [email protected]: {}
-
   [email protected]: {}
 
   [email protected]:
diff --git a/tooling/eslint-config-custom/package.json b/tooling/eslint-config-custom/package.json
index b296276..89d2ac0 100644
--- a/tooling/eslint-config-custom/package.json
+++ b/tooling/eslint-config-custom/package.json
@@ -6,7 +6,7 @@
   "main": "index.js",
   "dependencies": {
     "@vercel/style-guide": "5.2.0",
-    "eslint": "9.37.0",
+    "eslint": "8.56.0",
     "eslint-config-turbo": "^2.4.4",
     "typescript": "5.7.3"
   },
diff --git a/tooling/tsconfig/package.json b/tooling/tsconfig/package.json
index f1179cc..3ed65cd 100644
--- a/tooling/tsconfig/package.json
+++ b/tooling/tsconfig/package.json
@@ -5,7 +5,7 @@
   "license": "Apache-2.0",
   "devDependencies": {
     "@vercel/style-guide": "5.2.0",
-    "eslint": "9.37.0",
+    "eslint": "8.56.0",
     "typescript": "5.7.3"
   },
   "publishConfig": {

Analysis

ESLint 9.37.0 incompatible with @vercel/[email protected] causing linting failure

What fails: Running pnpm lint or any ESLint command fails with error: "The ESLint patch script has only been tested with ESLint version 6.x, 7.x, and 8.x. (Your version: 9.37.0)"

How to reproduce:

# With ESLint 9.37.0 installed
pnpm lint
# or
cd packages/kv && pnpm eslint .

Result: ESLint crashes with error from @rushstack/eslint-patch (used by @vercel/[email protected]):

Error: Cannot read config file: .../node_modules/@vercel/style-guide/eslint/_base.js
Error: The ESLint patch script has only been tested with ESLint version 6.x, 7.x, and 8.x. (Your version: 9.37.0)

Expected: ESLint should run without errors and lint the codebase

Root cause: @vercel/[email protected] has peer dependency "eslint": ">=8.48.0 <9" which explicitly excludes ESLint 9. The package uses @rushstack/eslint-patch which only supports ESLint 6.x, 7.x, and 8.x. Even the latest version @vercel/[email protected] requires eslint <9 and the repository has been archived as of Feb 11, 2025.

Fix: Downgraded ESLint from 9.37.0 to 8.56.0 (the version before the upgrade) in all package.json files across the monorepo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant