diff --git a/package.json b/package.json
index c65b25a3..02cc21b9 100644
--- a/package.json
+++ b/package.json
@@ -163,7 +163,7 @@
 		"dedent": "1.0.1",
 		"del-cli": "5.0.0",
 		"dotenv": "16.0.3",
-		"eslint": "8.38.0",
+		"eslint": "9.0.0",
 		"eslint-config-canonical": "41.0.1",
 		"eslint-config-prettier": "9.0.0",
 		"eslint-plugin-jsonc": "2.7.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5e270244..c1e0e561 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -221,7 +221,7 @@ importers:
         version: 0.15.4
       '@typescript-eslint/experimental-utils':
         specifier: 5.58.0
-        version: 5.58.0(eslint@8.38.0)(typescript@5.0.4)
+        version: 5.58.0(eslint@9.0.0)(typescript@5.0.4)
       all-contributors-cli:
         specifier: 6.24.0
         version: 6.24.0
@@ -244,26 +244,26 @@ importers:
         specifier: 16.0.3
         version: 16.0.3
       eslint:
-        specifier: 8.38.0
-        version: 8.38.0
+        specifier: 9.0.0
+        version: 9.0.0
       eslint-config-canonical:
         specifier: 41.0.1
-        version: 41.0.1(@types/node@18.15.11)(bufferutil@4.0.8)(eslint@8.38.0)(typescript@5.0.4)(utf-8-validate@5.0.10)
+        version: 41.0.1(@types/node@18.15.11)(bufferutil@4.0.8)(eslint@9.0.0)(typescript@5.0.4)(utf-8-validate@5.0.10)
       eslint-config-prettier:
         specifier: 9.0.0
-        version: 9.0.0(eslint@8.38.0)
+        version: 9.0.0(eslint@9.0.0)
       eslint-plugin-jsonc:
         specifier: 2.7.0
-        version: 2.7.0(eslint@8.38.0)
+        version: 2.7.0(eslint@9.0.0)
       eslint-plugin-tailwindcss:
         specifier: 3.11.0
         version: 3.11.0(tailwindcss@3.3.1(postcss@8.4.31))
       eslint-plugin-toml:
         specifier: 0.4.0
-        version: 0.4.0(eslint@8.38.0)
+        version: 0.4.0(eslint@9.0.0)
       eslint-plugin-yml:
         specifier: 1.5.0
-        version: 1.5.0(eslint@8.38.0)
+        version: 1.5.0(eslint@9.0.0)
       execa:
         specifier: 8.0.1
         version: 8.0.1
@@ -851,13 +851,13 @@ packages:
     resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
     engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
 
-  '@eslint/eslintrc@2.1.3':
-    resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+  '@eslint/eslintrc@3.0.2':
+    resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
-  '@eslint/js@8.38.0':
-    resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+  '@eslint/js@9.0.0':
+    resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
   '@floating-ui/core@1.5.0':
     resolution: {integrity: sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==}
@@ -991,16 +991,16 @@ packages:
     peerDependencies:
       react: '>= 16'
 
-  '@humanwhocodes/config-array@0.11.13':
-    resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
+  '@humanwhocodes/config-array@0.12.3':
+    resolution: {integrity: sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==}
     engines: {node: '>=10.10.0'}
 
   '@humanwhocodes/module-importer@1.0.1':
     resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
     engines: {node: '>=12.22'}
 
-  '@humanwhocodes/object-schema@2.0.1':
-    resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
+  '@humanwhocodes/object-schema@2.0.3':
+    resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
 
   '@hutson/parse-repository-url@5.0.0':
     resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==}
@@ -2310,8 +2310,8 @@ packages:
     resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==}
     engines: {node: '>=0.4.0'}
 
-  acorn@8.11.2:
-    resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
+  acorn@8.11.3:
+    resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
     engines: {node: '>=0.4.0'}
     hasBin: true
 
@@ -3387,10 +3387,6 @@ packages:
     resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
     engines: {node: '>=0.10.0'}
 
-  doctrine@3.0.0:
-    resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
-    engines: {node: '>=6.0.0'}
-
   dom-serializer@2.0.0:
     resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
 
@@ -3807,9 +3803,9 @@ packages:
     resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
     engines: {node: '>=8.0.0'}
 
-  eslint-scope@7.2.2:
-    resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+  eslint-scope@8.0.1:
+    resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
 
   eslint-utils@2.1.0:
     resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==}
@@ -3833,11 +3829,19 @@ packages:
     resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
-  eslint@8.38.0:
-    resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+  eslint-visitor-keys@4.0.0:
+    resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  eslint@9.0.0:
+    resolution: {integrity: sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
     hasBin: true
 
+  espree@10.0.1:
+    resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
   espree@9.6.1:
     resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3999,10 +4003,6 @@ packages:
     resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==}
     engines: {node: '>=14'}
 
-  file-entry-cache@6.0.1:
-    resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
-    engines: {node: ^10.12.0 || >=12.0.0}
-
   file-entry-cache@7.0.2:
     resolution: {integrity: sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==}
     engines: {node: '>=12.0.0'}
@@ -4283,6 +4283,10 @@ packages:
     resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
     engines: {node: '>=8'}
 
+  globals@14.0.0:
+    resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+    engines: {node: '>=18'}
+
   globalthis@1.0.3:
     resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
     engines: {node: '>= 0.4'}
@@ -4904,9 +4908,6 @@ packages:
     resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
     hasBin: true
 
-  js-sdsl@4.4.2:
-    resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==}
-
   js-tokens@4.0.0:
     resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
 
@@ -7708,18 +7709,18 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@babel/eslint-parser@7.23.3(@babel/core@7.23.3)(eslint@8.38.0)':
+  '@babel/eslint-parser@7.23.3(@babel/core@7.23.3)(eslint@9.0.0)':
     dependencies:
       '@babel/core': 7.23.3
       '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
-      eslint: 8.38.0
+      eslint: 9.0.0
       eslint-visitor-keys: 2.1.0
       semver: 6.3.1
 
-  '@babel/eslint-plugin@7.22.10(@babel/eslint-parser@7.23.3(@babel/core@7.23.3)(eslint@8.38.0))(eslint@8.38.0)':
+  '@babel/eslint-plugin@7.22.10(@babel/eslint-parser@7.23.3(@babel/core@7.23.3)(eslint@9.0.0))(eslint@9.0.0)':
     dependencies:
-      '@babel/eslint-parser': 7.23.3(@babel/core@7.23.3)(eslint@8.38.0)
-      eslint: 8.38.0
+      '@babel/eslint-parser': 7.23.3(@babel/core@7.23.3)(eslint@9.0.0)
+      eslint: 9.0.0
       eslint-rule-composer: 0.3.0
 
   '@babel/generator@7.23.4':
@@ -8232,19 +8233,19 @@ snapshots:
       esquery: 1.5.0
       jsdoc-type-pratt-parser: 4.0.0
 
-  '@eslint-community/eslint-utils@4.4.0(eslint@8.38.0)':
+  '@eslint-community/eslint-utils@4.4.0(eslint@9.0.0)':
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
       eslint-visitor-keys: 3.4.3
 
   '@eslint-community/regexpp@4.10.0': {}
 
-  '@eslint/eslintrc@2.1.3':
+  '@eslint/eslintrc@3.0.2':
     dependencies:
       ajv: 6.12.6
       debug: 4.3.4(supports-color@8.1.1)
-      espree: 9.6.1
-      globals: 13.23.0
+      espree: 10.0.1
+      globals: 14.0.0
       ignore: 5.3.0
       import-fresh: 3.3.0
       js-yaml: 4.1.0
@@ -8253,7 +8254,7 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@eslint/js@8.38.0': {}
+  '@eslint/js@9.0.0': {}
 
   '@floating-ui/core@1.5.0':
     dependencies:
@@ -8483,9 +8484,9 @@ snapshots:
     dependencies:
       react: 18.2.0
 
-  '@humanwhocodes/config-array@0.11.13':
+  '@humanwhocodes/config-array@0.12.3':
     dependencies:
-      '@humanwhocodes/object-schema': 2.0.1
+      '@humanwhocodes/object-schema': 2.0.3
       debug: 4.3.4(supports-color@8.1.1)
       minimatch: 3.1.2
     transitivePeerDependencies:
@@ -8493,7 +8494,7 @@ snapshots:
 
   '@humanwhocodes/module-importer@1.0.1': {}
 
-  '@humanwhocodes/object-schema@2.0.1': {}
+  '@humanwhocodes/object-schema@2.0.3': {}
 
   '@hutson/parse-repository-url@5.0.0': {}
 
@@ -10160,15 +10161,15 @@ snapshots:
       '@types/node': 18.15.11
     optional: true
 
-  '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint@8.38.0)(typescript@5.0.4)':
+  '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint@9.0.0)(typescript@5.0.4)':
     dependencies:
       '@eslint-community/regexpp': 4.10.0
-      '@typescript-eslint/parser': 5.62.0(eslint@8.38.0)(typescript@5.0.4)
+      '@typescript-eslint/parser': 5.62.0(eslint@9.0.0)(typescript@5.0.4)
       '@typescript-eslint/scope-manager': 5.62.0
-      '@typescript-eslint/type-utils': 5.62.0(eslint@8.38.0)(typescript@5.0.4)
-      '@typescript-eslint/utils': 5.62.0(eslint@8.38.0)(typescript@5.0.4)
+      '@typescript-eslint/type-utils': 5.62.0(eslint@9.0.0)(typescript@5.0.4)
+      '@typescript-eslint/utils': 5.62.0(eslint@9.0.0)(typescript@5.0.4)
       debug: 4.3.4(supports-color@8.1.1)
-      eslint: 8.38.0
+      eslint: 9.0.0
       graphemer: 1.4.0
       ignore: 5.3.0
       natural-compare-lite: 1.4.0
@@ -10179,21 +10180,21 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/experimental-utils@5.58.0(eslint@8.38.0)(typescript@5.0.4)':
+  '@typescript-eslint/experimental-utils@5.58.0(eslint@9.0.0)(typescript@5.0.4)':
     dependencies:
-      '@typescript-eslint/utils': 5.58.0(eslint@8.38.0)(typescript@5.0.4)
-      eslint: 8.38.0
+      '@typescript-eslint/utils': 5.58.0(eslint@9.0.0)(typescript@5.0.4)
+      eslint: 9.0.0
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  '@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4)':
+  '@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4)':
     dependencies:
       '@typescript-eslint/scope-manager': 5.62.0
       '@typescript-eslint/types': 5.62.0
       '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.0.4)
       debug: 4.3.4(supports-color@8.1.1)
-      eslint: 8.38.0
+      eslint: 9.0.0
     optionalDependencies:
       typescript: 5.0.4
     transitivePeerDependencies:
@@ -10214,12 +10215,12 @@ snapshots:
       '@typescript-eslint/types': 6.13.1
       '@typescript-eslint/visitor-keys': 6.13.1
 
-  '@typescript-eslint/type-utils@5.62.0(eslint@8.38.0)(typescript@5.0.4)':
+  '@typescript-eslint/type-utils@5.62.0(eslint@9.0.0)(typescript@5.0.4)':
     dependencies:
       '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.0.4)
-      '@typescript-eslint/utils': 5.62.0(eslint@8.38.0)(typescript@5.0.4)
+      '@typescript-eslint/utils': 5.62.0(eslint@9.0.0)(typescript@5.0.4)
       debug: 4.3.4(supports-color@8.1.1)
-      eslint: 8.38.0
+      eslint: 9.0.0
       tsutils: 3.21.0(typescript@5.0.4)
     optionalDependencies:
       typescript: 5.0.4
@@ -10274,45 +10275,45 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/utils@5.58.0(eslint@8.38.0)(typescript@5.0.4)':
+  '@typescript-eslint/utils@5.58.0(eslint@9.0.0)(typescript@5.0.4)':
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0)
+      '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0)
       '@types/json-schema': 7.0.15
       '@types/semver': 7.5.6
       '@typescript-eslint/scope-manager': 5.58.0
       '@typescript-eslint/types': 5.58.0
       '@typescript-eslint/typescript-estree': 5.58.0(typescript@5.0.4)
-      eslint: 8.38.0
+      eslint: 9.0.0
       eslint-scope: 5.1.1
       semver: 7.6.0
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  '@typescript-eslint/utils@5.62.0(eslint@8.38.0)(typescript@5.0.4)':
+  '@typescript-eslint/utils@5.62.0(eslint@9.0.0)(typescript@5.0.4)':
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0)
+      '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0)
       '@types/json-schema': 7.0.15
       '@types/semver': 7.5.6
       '@typescript-eslint/scope-manager': 5.62.0
       '@typescript-eslint/types': 5.62.0
       '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.0.4)
-      eslint: 8.38.0
+      eslint: 9.0.0
       eslint-scope: 5.1.1
       semver: 7.6.0
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  '@typescript-eslint/utils@6.13.1(eslint@8.38.0)(typescript@5.0.4)':
+  '@typescript-eslint/utils@6.13.1(eslint@9.0.0)(typescript@5.0.4)':
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0)
+      '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0)
       '@types/json-schema': 7.0.15
       '@types/semver': 7.5.6
       '@typescript-eslint/scope-manager': 6.13.1
       '@typescript-eslint/types': 6.13.1
       '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.0.4)
-      eslint: 8.38.0
+      eslint: 9.0.0
       semver: 7.6.0
     transitivePeerDependencies:
       - supports-color
@@ -10367,13 +10368,13 @@ snapshots:
       jsonparse: 1.3.1
       through: 2.3.8
 
-  acorn-jsx@5.3.2(acorn@8.11.2):
+  acorn-jsx@5.3.2(acorn@8.11.3):
     dependencies:
-      acorn: 8.11.2
+      acorn: 8.11.3
 
   acorn-walk@8.3.0: {}
 
-  acorn@8.11.2: {}
+  acorn@8.11.3: {}
 
   add-stream@1.0.0: {}
 
@@ -11586,10 +11587,6 @@ snapshots:
     dependencies:
       esutils: 2.0.3
 
-  doctrine@3.0.0:
-    dependencies:
-      esutils: 2.0.3
-
   dom-serializer@2.0.0:
     dependencies:
       domelementtype: 2.3.0
@@ -11820,45 +11817,45 @@ snapshots:
       lodash.get: 4.4.2
       lodash.zip: 4.2.0
 
-  eslint-config-canonical@41.0.1(@types/node@18.15.11)(bufferutil@4.0.8)(eslint@8.38.0)(typescript@5.0.4)(utf-8-validate@5.0.10):
+  eslint-config-canonical@41.0.1(@types/node@18.15.11)(bufferutil@4.0.8)(eslint@9.0.0)(typescript@5.0.4)(utf-8-validate@5.0.10):
     dependencies:
       '@babel/core': 7.23.3
-      '@babel/eslint-parser': 7.23.3(@babel/core@7.23.3)(eslint@8.38.0)
-      '@babel/eslint-plugin': 7.22.10(@babel/eslint-parser@7.23.3(@babel/core@7.23.3)(eslint@8.38.0))(eslint@8.38.0)
+      '@babel/eslint-parser': 7.23.3(@babel/core@7.23.3)(eslint@9.0.0)
+      '@babel/eslint-plugin': 7.22.10(@babel/eslint-parser@7.23.3(@babel/core@7.23.3)(eslint@9.0.0))(eslint@9.0.0)
       '@graphql-eslint/eslint-plugin': 3.20.1(@babel/core@7.23.3)(@types/node@18.15.11)(bufferutil@4.0.8)(utf-8-validate@5.0.10)
       '@next/eslint-plugin-next': 13.3.0
       '@rushstack/eslint-patch': 1.6.0
-      '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint@8.38.0)(typescript@5.0.4)
-      '@typescript-eslint/parser': 5.62.0(eslint@8.38.0)(typescript@5.0.4)
-      eslint: 8.38.0
-      eslint-config-prettier: 8.10.0(eslint@8.38.0)
-      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@8.38.0)
-      eslint-plugin-ava: 13.2.0(eslint@8.38.0)
-      eslint-plugin-canonical: 4.18.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.38.0))(eslint@8.38.0)(typescript@5.0.4)
-      eslint-plugin-cypress: 2.15.1(eslint@8.38.0)
-      eslint-plugin-eslint-comments: 3.2.0(eslint@8.38.0)
-      eslint-plugin-flowtype: 8.0.3(eslint@8.38.0)
-      eslint-plugin-fp: 2.3.0(eslint@8.38.0)
-      eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.38.0)
-      eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint@8.38.0)(typescript@5.0.4))(eslint@8.38.0)(typescript@5.0.4)
-      eslint-plugin-jsdoc: 40.3.0(eslint@8.38.0)
-      eslint-plugin-jsonc: 2.7.0(eslint@8.38.0)
-      eslint-plugin-jsx-a11y: 6.8.0(eslint@8.38.0)
-      eslint-plugin-lodash: 7.4.0(eslint@8.38.0)
-      eslint-plugin-mocha: 10.2.0(eslint@8.38.0)
+      '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint@9.0.0)(typescript@5.0.4)
+      '@typescript-eslint/parser': 5.62.0(eslint@9.0.0)(typescript@5.0.4)
+      eslint: 9.0.0
+      eslint-config-prettier: 8.10.0(eslint@9.0.0)
+      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@9.0.0)
+      eslint-plugin-ava: 13.2.0(eslint@9.0.0)
+      eslint-plugin-canonical: 4.18.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.0.0))(eslint@9.0.0)(typescript@5.0.4)
+      eslint-plugin-cypress: 2.15.1(eslint@9.0.0)
+      eslint-plugin-eslint-comments: 3.2.0(eslint@9.0.0)
+      eslint-plugin-flowtype: 8.0.3(eslint@9.0.0)
+      eslint-plugin-fp: 2.3.0(eslint@9.0.0)
+      eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.0.0)
+      eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint@9.0.0)(typescript@5.0.4))(eslint@9.0.0)(typescript@5.0.4)
+      eslint-plugin-jsdoc: 40.3.0(eslint@9.0.0)
+      eslint-plugin-jsonc: 2.7.0(eslint@9.0.0)
+      eslint-plugin-jsx-a11y: 6.8.0(eslint@9.0.0)
+      eslint-plugin-lodash: 7.4.0(eslint@9.0.0)
+      eslint-plugin-mocha: 10.2.0(eslint@9.0.0)
       eslint-plugin-modules-newline: 0.0.6
-      eslint-plugin-node: 11.1.0(eslint@8.38.0)
-      eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.38.0))(eslint@8.38.0)(prettier@2.8.8)
-      eslint-plugin-promise: 6.1.1(eslint@8.38.0)
-      eslint-plugin-react: 7.33.2(eslint@8.38.0)
-      eslint-plugin-react-hooks: 4.6.0(eslint@8.38.0)
-      eslint-plugin-regexp: 1.15.0(eslint@8.38.0)
-      eslint-plugin-simple-import-sort: 10.0.0(eslint@8.38.0)
-      eslint-plugin-typescript-sort-keys: 2.3.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint@8.38.0)(typescript@5.0.4)
-      eslint-plugin-unicorn: 45.0.2(eslint@8.38.0)
-      eslint-plugin-vitest: 0.0.25(eslint@8.38.0)(typescript@5.0.4)
-      eslint-plugin-yml: 1.5.0(eslint@8.38.0)
-      eslint-plugin-zod: 1.4.0(eslint@8.38.0)
+      eslint-plugin-node: 11.1.0(eslint@9.0.0)
+      eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0(eslint@9.0.0))(eslint@9.0.0)(prettier@2.8.8)
+      eslint-plugin-promise: 6.1.1(eslint@9.0.0)
+      eslint-plugin-react: 7.33.2(eslint@9.0.0)
+      eslint-plugin-react-hooks: 4.6.0(eslint@9.0.0)
+      eslint-plugin-regexp: 1.15.0(eslint@9.0.0)
+      eslint-plugin-simple-import-sort: 10.0.0(eslint@9.0.0)
+      eslint-plugin-typescript-sort-keys: 2.3.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint@9.0.0)(typescript@5.0.4)
+      eslint-plugin-unicorn: 45.0.2(eslint@9.0.0)
+      eslint-plugin-vitest: 0.0.25(eslint@9.0.0)(typescript@5.0.4)
+      eslint-plugin-yml: 1.5.0(eslint@9.0.0)
+      eslint-plugin-zod: 1.4.0(eslint@9.0.0)
       prettier: 2.8.8
       ramda: 0.28.0
       yaml-eslint-parser: 1.2.0
@@ -11877,13 +11874,13 @@ snapshots:
       - typescript
       - utf-8-validate
 
-  eslint-config-prettier@8.10.0(eslint@8.38.0):
+  eslint-config-prettier@8.10.0(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
 
-  eslint-config-prettier@9.0.0(eslint@8.38.0):
+  eslint-config-prettier@9.0.0(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
 
   eslint-import-resolver-node@0.3.9:
     dependencies:
@@ -11893,13 +11890,13 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@8.38.0):
+  eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@9.0.0):
     dependencies:
       debug: 4.3.4(supports-color@8.1.1)
       enhanced-resolve: 5.15.0
-      eslint: 8.38.0
-      eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@8.38.0))(eslint@8.38.0)
-      eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.38.0)
+      eslint: 9.0.0
+      eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@9.0.0))(eslint@9.0.0)
+      eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.0.0)
       fast-glob: 3.3.2
       get-tsconfig: 4.7.2
       is-core-module: 2.13.1
@@ -11910,22 +11907,22 @@ snapshots:
       - eslint-import-resolver-webpack
       - supports-color
 
-  eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@8.38.0))(eslint@8.38.0):
+  eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@9.0.0))(eslint@9.0.0):
     dependencies:
       debug: 3.2.7(supports-color@8.1.1)
     optionalDependencies:
-      '@typescript-eslint/parser': 5.62.0(eslint@8.38.0)(typescript@5.0.4)
-      eslint: 8.38.0
+      '@typescript-eslint/parser': 5.62.0(eslint@9.0.0)(typescript@5.0.4)
+      eslint: 9.0.0
       eslint-import-resolver-node: 0.3.9
-      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@8.38.0)
+      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@9.0.0)
     transitivePeerDependencies:
       - supports-color
 
-  eslint-plugin-ava@13.2.0(eslint@8.38.0):
+  eslint-plugin-ava@13.2.0(eslint@9.0.0):
     dependencies:
       enhance-visitors: 1.0.0
-      eslint: 8.38.0
-      eslint-utils: 3.0.0(eslint@8.38.0)
+      eslint: 9.0.0
+      eslint-utils: 3.0.0(eslint@9.0.0)
       espree: 9.6.1
       espurify: 2.1.1
       import-modules: 2.1.0
@@ -11933,13 +11930,13 @@ snapshots:
       pkg-dir: 5.0.0
       resolve-from: 5.0.0
 
-  eslint-plugin-canonical@4.18.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.38.0))(eslint@8.38.0)(typescript@5.0.4):
+  eslint-plugin-canonical@4.18.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.0.0))(eslint@9.0.0)(typescript@5.0.4):
     dependencies:
-      '@typescript-eslint/utils': 6.13.1(eslint@8.38.0)(typescript@5.0.4)
+      '@typescript-eslint/utils': 6.13.1(eslint@9.0.0)(typescript@5.0.4)
       chance: 1.1.11
       debug: 4.3.4(supports-color@8.1.1)
-      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@8.38.0)
-      eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@8.38.0))(eslint@8.38.0)
+      eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@9.0.0)
+      eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@9.0.0))(eslint@9.0.0)
       is-get-set-prop: 1.0.0
       is-js-type: 2.0.0
       is-obj-prop: 1.0.0
@@ -11959,38 +11956,38 @@ snapshots:
       - supports-color
       - typescript
 
-  eslint-plugin-cypress@2.15.1(eslint@8.38.0):
+  eslint-plugin-cypress@2.15.1(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
       globals: 13.23.0
 
-  eslint-plugin-es@3.0.1(eslint@8.38.0):
+  eslint-plugin-es@3.0.1(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
       eslint-utils: 2.1.0
       regexpp: 3.2.0
 
-  eslint-plugin-eslint-comments@3.2.0(eslint@8.38.0):
+  eslint-plugin-eslint-comments@3.2.0(eslint@9.0.0):
     dependencies:
       escape-string-regexp: 1.0.5
-      eslint: 8.38.0
+      eslint: 9.0.0
       ignore: 5.3.0
 
-  eslint-plugin-flowtype@8.0.3(eslint@8.38.0):
+  eslint-plugin-flowtype@8.0.3(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
       lodash: 4.17.21
       string-natural-compare: 3.0.1
 
-  eslint-plugin-fp@2.3.0(eslint@8.38.0):
+  eslint-plugin-fp@2.3.0(eslint@9.0.0):
     dependencies:
       create-eslint-index: 1.0.0
-      eslint: 8.38.0
+      eslint: 9.0.0
       eslint-ast-utils: 1.1.0
       lodash: 4.17.21
       req-all: 0.1.0
 
-  eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.38.0):
+  eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.0.0):
     dependencies:
       array-includes: 3.1.7
       array.prototype.findlastindex: 1.2.3
@@ -11998,9 +11995,9 @@ snapshots:
       array.prototype.flatmap: 1.3.2
       debug: 3.2.7(supports-color@8.1.1)
       doctrine: 2.1.0
-      eslint: 8.38.0
+      eslint: 9.0.0
       eslint-import-resolver-node: 0.3.9
-      eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@8.38.0))(eslint@8.38.0)
+      eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint-plugin-import@2.29.0)(eslint@9.0.0))(eslint@9.0.0)
       hasown: 2.0.0
       is-core-module: 2.13.1
       is-glob: 4.0.3
@@ -12011,43 +12008,43 @@ snapshots:
       semver: 6.3.1
       tsconfig-paths: 3.14.2
     optionalDependencies:
-      '@typescript-eslint/parser': 5.62.0(eslint@8.38.0)(typescript@5.0.4)
+      '@typescript-eslint/parser': 5.62.0(eslint@9.0.0)(typescript@5.0.4)
     transitivePeerDependencies:
       - eslint-import-resolver-typescript
       - eslint-import-resolver-webpack
       - supports-color
 
-  eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint@8.38.0)(typescript@5.0.4))(eslint@8.38.0)(typescript@5.0.4):
+  eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint@9.0.0)(typescript@5.0.4))(eslint@9.0.0)(typescript@5.0.4):
     dependencies:
-      '@typescript-eslint/utils': 5.62.0(eslint@8.38.0)(typescript@5.0.4)
-      eslint: 8.38.0
+      '@typescript-eslint/utils': 5.62.0(eslint@9.0.0)(typescript@5.0.4)
+      eslint: 9.0.0
     optionalDependencies:
-      '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint@8.38.0)(typescript@5.0.4)
+      '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint@9.0.0)(typescript@5.0.4)
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  eslint-plugin-jsdoc@40.3.0(eslint@8.38.0):
+  eslint-plugin-jsdoc@40.3.0(eslint@9.0.0):
     dependencies:
       '@es-joy/jsdoccomment': 0.37.1
       comment-parser: 1.3.1
       debug: 4.3.4(supports-color@8.1.1)
       escape-string-regexp: 4.0.0
-      eslint: 8.38.0
+      eslint: 9.0.0
       esquery: 1.5.0
       semver: 7.6.0
       spdx-expression-parse: 3.0.1
     transitivePeerDependencies:
       - supports-color
 
-  eslint-plugin-jsonc@2.7.0(eslint@8.38.0):
+  eslint-plugin-jsonc@2.7.0(eslint@9.0.0):
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0)
-      eslint: 8.38.0
+      '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0)
+      eslint: 9.0.0
       jsonc-eslint-parser: 2.2.0
       natural-compare: 1.4.0
 
-  eslint-plugin-jsx-a11y@6.8.0(eslint@8.38.0):
+  eslint-plugin-jsx-a11y@6.8.0(eslint@9.0.0):
     dependencies:
       '@babel/runtime': 7.23.4
       aria-query: 5.3.0
@@ -12059,7 +12056,7 @@ snapshots:
       damerau-levenshtein: 1.0.8
       emoji-regex: 9.2.2
       es-iterator-helpers: 1.0.15
-      eslint: 8.38.0
+      eslint: 9.0.0
       hasown: 2.0.0
       jsx-ast-utils: 3.3.5
       language-tags: 1.0.9
@@ -12067,55 +12064,55 @@ snapshots:
       object.entries: 1.1.7
       object.fromentries: 2.0.7
 
-  eslint-plugin-lodash@7.4.0(eslint@8.38.0):
+  eslint-plugin-lodash@7.4.0(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
       lodash: 4.17.21
 
-  eslint-plugin-mocha@10.2.0(eslint@8.38.0):
+  eslint-plugin-mocha@10.2.0(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
-      eslint-utils: 3.0.0(eslint@8.38.0)
+      eslint: 9.0.0
+      eslint-utils: 3.0.0(eslint@9.0.0)
       rambda: 7.5.0
 
   eslint-plugin-modules-newline@0.0.6:
     dependencies:
       requireindex: 1.1.0
 
-  eslint-plugin-node@11.1.0(eslint@8.38.0):
+  eslint-plugin-node@11.1.0(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
-      eslint-plugin-es: 3.0.1(eslint@8.38.0)
+      eslint: 9.0.0
+      eslint-plugin-es: 3.0.1(eslint@9.0.0)
       eslint-utils: 2.1.0
       ignore: 5.3.0
       minimatch: 3.1.2
       resolve: 1.22.8
       semver: 6.3.1
 
-  eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0(eslint@8.38.0))(eslint@8.38.0)(prettier@2.8.8):
+  eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0(eslint@9.0.0))(eslint@9.0.0)(prettier@2.8.8):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
       prettier: 2.8.8
       prettier-linter-helpers: 1.0.0
     optionalDependencies:
-      eslint-config-prettier: 8.10.0(eslint@8.38.0)
+      eslint-config-prettier: 8.10.0(eslint@9.0.0)
 
-  eslint-plugin-promise@6.1.1(eslint@8.38.0):
+  eslint-plugin-promise@6.1.1(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
 
-  eslint-plugin-react-hooks@4.6.0(eslint@8.38.0):
+  eslint-plugin-react-hooks@4.6.0(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
 
-  eslint-plugin-react@7.33.2(eslint@8.38.0):
+  eslint-plugin-react@7.33.2(eslint@9.0.0):
     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.38.0
+      eslint: 9.0.0
       estraverse: 5.3.0
       jsx-ast-utils: 3.3.5
       minimatch: 3.1.2
@@ -12128,21 +12125,21 @@ snapshots:
       semver: 6.3.1
       string.prototype.matchall: 4.0.10
 
-  eslint-plugin-regexp@1.15.0(eslint@8.38.0):
+  eslint-plugin-regexp@1.15.0(eslint@9.0.0):
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0)
+      '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0)
       '@eslint-community/regexpp': 4.10.0
       comment-parser: 1.4.1
-      eslint: 8.38.0
+      eslint: 9.0.0
       grapheme-splitter: 1.0.4
       jsdoctypeparser: 9.0.0
       refa: 0.11.0
       regexp-ast-analysis: 0.6.0
       scslre: 0.2.0
 
-  eslint-plugin-simple-import-sort@10.0.0(eslint@8.38.0):
+  eslint-plugin-simple-import-sort@10.0.0(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
 
   eslint-plugin-tailwindcss@3.11.0(tailwindcss@3.3.1(postcss@8.4.31)):
     dependencies:
@@ -12150,33 +12147,33 @@ snapshots:
       postcss: 8.4.31
       tailwindcss: 3.3.1(postcss@8.4.31)
 
-  eslint-plugin-toml@0.4.0(eslint@8.38.0):
+  eslint-plugin-toml@0.4.0(eslint@9.0.0):
     dependencies:
       debug: 4.3.4(supports-color@8.1.1)
-      eslint: 8.38.0
+      eslint: 9.0.0
       lodash: 4.17.21
       toml-eslint-parser: 0.5.0
     transitivePeerDependencies:
       - supports-color
 
-  eslint-plugin-typescript-sort-keys@2.3.0(@typescript-eslint/parser@5.62.0(eslint@8.38.0)(typescript@5.0.4))(eslint@8.38.0)(typescript@5.0.4):
+  eslint-plugin-typescript-sort-keys@2.3.0(@typescript-eslint/parser@5.62.0(eslint@9.0.0)(typescript@5.0.4))(eslint@9.0.0)(typescript@5.0.4):
     dependencies:
-      '@typescript-eslint/experimental-utils': 5.58.0(eslint@8.38.0)(typescript@5.0.4)
-      '@typescript-eslint/parser': 5.62.0(eslint@8.38.0)(typescript@5.0.4)
-      eslint: 8.38.0
+      '@typescript-eslint/experimental-utils': 5.58.0(eslint@9.0.0)(typescript@5.0.4)
+      '@typescript-eslint/parser': 5.62.0(eslint@9.0.0)(typescript@5.0.4)
+      eslint: 9.0.0
       json-schema: 0.4.0
       natural-compare-lite: 1.4.0
       typescript: 5.0.4
     transitivePeerDependencies:
       - supports-color
 
-  eslint-plugin-unicorn@45.0.2(eslint@8.38.0):
+  eslint-plugin-unicorn@45.0.2(eslint@9.0.0):
     dependencies:
       '@babel/helper-validator-identifier': 7.22.20
-      '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0)
+      '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0)
       ci-info: 3.9.0
       clean-regexp: 1.0.0
-      eslint: 8.38.0
+      eslint: 9.0.0
       esquery: 1.5.0
       indent-string: 4.0.0
       is-builtin-module: 3.2.1
@@ -12190,27 +12187,27 @@ snapshots:
       semver: 7.6.0
       strip-indent: 3.0.0
 
-  eslint-plugin-vitest@0.0.25(eslint@8.38.0)(typescript@5.0.4):
+  eslint-plugin-vitest@0.0.25(eslint@9.0.0)(typescript@5.0.4):
     dependencies:
-      '@typescript-eslint/utils': 5.62.0(eslint@8.38.0)(typescript@5.0.4)
-      eslint: 8.38.0
+      '@typescript-eslint/utils': 5.62.0(eslint@9.0.0)(typescript@5.0.4)
+      eslint: 9.0.0
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  eslint-plugin-yml@1.5.0(eslint@8.38.0):
+  eslint-plugin-yml@1.5.0(eslint@9.0.0):
     dependencies:
       debug: 4.3.4(supports-color@8.1.1)
-      eslint: 8.38.0
+      eslint: 9.0.0
       lodash: 4.17.21
       natural-compare: 1.4.0
       yaml-eslint-parser: 1.2.0
     transitivePeerDependencies:
       - supports-color
 
-  eslint-plugin-zod@1.4.0(eslint@8.38.0):
+  eslint-plugin-zod@1.4.0(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
 
   eslint-rule-composer@0.3.0: {}
 
@@ -12219,7 +12216,7 @@ snapshots:
       esrecurse: 4.3.0
       estraverse: 4.3.0
 
-  eslint-scope@7.2.2:
+  eslint-scope@8.0.1:
     dependencies:
       esrecurse: 4.3.0
       estraverse: 5.3.0
@@ -12228,9 +12225,9 @@ snapshots:
     dependencies:
       eslint-visitor-keys: 1.3.0
 
-  eslint-utils@3.0.0(eslint@8.38.0):
+  eslint-utils@3.0.0(eslint@9.0.0):
     dependencies:
-      eslint: 8.38.0
+      eslint: 9.0.0
       eslint-visitor-keys: 2.1.0
 
   eslint-visitor-keys@1.3.0: {}
@@ -12239,39 +12236,36 @@ snapshots:
 
   eslint-visitor-keys@3.4.3: {}
 
-  eslint@8.38.0:
+  eslint-visitor-keys@4.0.0: {}
+
+  eslint@9.0.0:
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0)
+      '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0)
       '@eslint-community/regexpp': 4.10.0
-      '@eslint/eslintrc': 2.1.3
-      '@eslint/js': 8.38.0
-      '@humanwhocodes/config-array': 0.11.13
+      '@eslint/eslintrc': 3.0.2
+      '@eslint/js': 9.0.0
+      '@humanwhocodes/config-array': 0.12.3
       '@humanwhocodes/module-importer': 1.0.1
       '@nodelib/fs.walk': 1.2.8
       ajv: 6.12.6
       chalk: 4.1.2
       cross-spawn: 7.0.3
       debug: 4.3.4(supports-color@8.1.1)
-      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
+      eslint-scope: 8.0.1
+      eslint-visitor-keys: 4.0.0
+      espree: 10.0.1
       esquery: 1.5.0
       esutils: 2.0.3
       fast-deep-equal: 3.1.3
-      file-entry-cache: 6.0.1
+      file-entry-cache: 8.0.0
       find-up: 5.0.0
       glob-parent: 6.0.2
-      globals: 13.23.0
-      grapheme-splitter: 1.0.4
+      graphemer: 1.4.0
       ignore: 5.3.0
-      import-fresh: 3.3.0
       imurmurhash: 0.1.4
       is-glob: 4.0.3
       is-path-inside: 3.0.3
-      js-sdsl: 4.4.2
-      js-yaml: 4.1.0
       json-stable-stringify-without-jsonify: 1.0.1
       levn: 0.4.1
       lodash.merge: 4.6.2
@@ -12279,15 +12273,20 @@ snapshots:
       natural-compare: 1.4.0
       optionator: 0.9.3
       strip-ansi: 6.0.1
-      strip-json-comments: 3.1.1
       text-table: 0.2.0
     transitivePeerDependencies:
       - supports-color
 
+  espree@10.0.1:
+    dependencies:
+      acorn: 8.11.3
+      acorn-jsx: 5.3.2(acorn@8.11.3)
+      eslint-visitor-keys: 4.0.0
+
   espree@9.6.1:
     dependencies:
-      acorn: 8.11.2
-      acorn-jsx: 5.3.2(acorn@8.11.2)
+      acorn: 8.11.3
+      acorn-jsx: 5.3.2(acorn@8.11.3)
       eslint-visitor-keys: 3.4.3
 
   esprima@4.0.1: {}
@@ -12458,10 +12457,6 @@ snapshots:
       escape-string-regexp: 5.0.0
       is-unicode-supported: 1.3.0
 
-  file-entry-cache@6.0.1:
-    dependencies:
-      flat-cache: 3.2.0
-
   file-entry-cache@7.0.2:
     dependencies:
       flat-cache: 3.2.0
@@ -12798,6 +12793,8 @@ snapshots:
     dependencies:
       type-fest: 0.20.2
 
+  globals@14.0.0: {}
+
   globalthis@1.0.3:
     dependencies:
       define-properties: 1.2.1
@@ -13415,8 +13412,6 @@ snapshots:
 
   jiti@1.21.0: {}
 
-  js-sdsl@4.4.2: {}
-
   js-tokens@4.0.0: {}
 
   js-types@1.0.0: {}
@@ -13469,7 +13464,7 @@ snapshots:
 
   jsonc-eslint-parser@2.2.0:
     dependencies:
-      acorn: 8.11.2
+      acorn: 8.11.3
       eslint-visitor-keys: 3.4.3
       espree: 9.6.1
       semver: 7.6.0
@@ -16037,7 +16032,7 @@ snapshots:
 
   webpack-bundle-analyzer@4.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10):
     dependencies:
-      acorn: 8.11.2
+      acorn: 8.11.3
       acorn-walk: 8.3.0
       chalk: 4.1.2
       commander: 7.2.0