From a183339063a66a8027860f05a6394841b88df5bd Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 2 May 2026 21:41:16 +0200 Subject: [PATCH] chore(deps): update dependency eslint to v10 (#5038) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> Co-authored-by: Meier Lukas --- packages/api/src/router/user.ts | 2 +- .../src/anchor/anchor-integration.ts | 2 +- pnpm-lock.yaml | 365 +++++++++--------- pnpm-workspace.yaml | 13 +- tooling/eslint/base.js | 5 +- tooling/eslint/package.json | 1 + tooling/eslint/react.js | 2 + tooling/eslint/types.d.ts | 45 --- 8 files changed, 191 insertions(+), 244 deletions(-) diff --git a/packages/api/src/router/user.ts b/packages/api/src/router/user.ts index ad11f4fce..43862b969 100644 --- a/packages/api/src/router/user.ts +++ b/packages/api/src/router/user.ts @@ -110,7 +110,7 @@ export const userRouter = createTRPCRouter({ const queryResult = (await trx.delete(schema.invites).where(inviteWhere)) as | QueryResult | MySqlRawQueryResult; - let count = 0; + let count: number; if (Array.isArray(queryResult)) { count = queryResult[0].affectedRows; } else { diff --git a/packages/integrations/src/anchor/anchor-integration.ts b/packages/integrations/src/anchor/anchor-integration.ts index 5db4a024c..4c4931894 100644 --- a/packages/integrations/src/anchor/anchor-integration.ts +++ b/packages/integrations/src/anchor/anchor-integration.ts @@ -77,7 +77,7 @@ export class AnchorIntegration extends Integration { }); if (!response.ok) { - let errorBody: string | null = null; + let errorBody: string | null; try { errorBody = await response.text(); } catch { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 14f6ec1e2..3e44f1ff7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,6 +36,9 @@ catalogs: '@drizzle-team/brocli': specifier: ^0.12.0 version: 0.12.0 + '@eslint/js': + specifier: 10.0.1 + version: 10.0.1 '@extractus/feed-extractor': specifier: 7.1.7 version: 7.1.7 @@ -358,8 +361,8 @@ catalogs: specifier: ^0.28.0 version: 0.28.0 eslint: - specifier: ^9.39.4 - version: 9.39.4 + specifier: ^10.2.1 + version: 10.2.1 eslint-config-prettier: specifier: ^10.1.8 version: 10.1.8 @@ -919,7 +922,7 @@ importers: version: 9.2.1 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 node-loader: specifier: 'catalog:' version: 2.1.0(webpack@5.94.0) @@ -1022,7 +1025,7 @@ importers: version: 0.28.0 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 prettier: specifier: 'catalog:' version: 3.8.3 @@ -1086,7 +1089,7 @@ importers: version: 0.28.0 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 prettier: specifier: 'catalog:' version: 3.8.3 @@ -1132,7 +1135,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1247,7 +1250,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 prettier: specifier: 'catalog:' version: 3.8.3 @@ -1320,7 +1323,7 @@ importers: version: 0.9.2 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 prettier: specifier: 'catalog:' version: 3.8.3 @@ -1351,7 +1354,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1391,7 +1394,7 @@ importers: version: 0.28.0 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1443,7 +1446,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1498,7 +1501,7 @@ importers: version: 8.20.0 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1547,7 +1550,7 @@ importers: version: 19.2.14 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1569,7 +1572,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1639,7 +1642,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1670,7 +1673,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1752,7 +1755,7 @@ importers: version: 0.28.0 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 prettier: specifier: 'catalog:' version: 3.8.3 @@ -1786,7 +1789,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 tsx: specifier: 'catalog:' version: 4.20.4 @@ -1820,7 +1823,7 @@ importers: version: 4.0.1 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1857,7 +1860,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1909,7 +1912,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1937,7 +1940,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -1971,7 +1974,7 @@ importers: version: 6.0.0 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2071,7 +2074,7 @@ importers: version: 0.4.14 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2105,7 +2108,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2178,7 +2181,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2206,7 +2209,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2288,7 +2291,7 @@ importers: version: 0.5.8 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2313,7 +2316,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2338,7 +2341,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2375,7 +2378,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2433,7 +2436,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2458,7 +2461,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2495,7 +2498,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2571,7 +2574,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2617,7 +2620,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2687,7 +2690,7 @@ importers: version: 1.0.5 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2718,7 +2721,7 @@ importers: version: link:../../tooling/typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2905,7 +2908,7 @@ importers: version: 7.3.58 eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -2917,26 +2920,29 @@ importers: version: 16.2.4 eslint-config-prettier: specifier: 'catalog:' - version: 10.1.8(eslint@9.39.4) + version: 10.1.8(eslint@10.2.1) eslint-config-turbo: specifier: 'catalog:' - version: 2.9.6(eslint@9.39.4)(turbo@2.9.6) + version: 2.9.6(eslint@10.2.1)(turbo@2.9.6) eslint-plugin-import: specifier: 'catalog:' - version: 2.32.0(@typescript-eslint/parser@8.58.2(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4) + version: 2.32.0(@typescript-eslint/parser@8.58.2(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1) eslint-plugin-jsx-a11y: specifier: 'catalog:' - version: 6.10.2(eslint@9.39.4) + version: 6.10.2(eslint@10.2.1) eslint-plugin-react: specifier: 'catalog:' - version: 7.37.5(eslint@9.39.4) + version: 7.37.5(eslint@10.2.1) eslint-plugin-react-hooks: specifier: 'catalog:' - version: 6.1.1(eslint@9.39.4) + version: 6.1.1(eslint@10.2.1) typescript-eslint: specifier: 'catalog:' - version: 8.58.2(eslint@9.39.4)(typescript@5.9.3) + version: 8.58.2(eslint@10.2.1)(typescript@5.9.3) devDependencies: + '@eslint/js': + specifier: 'catalog:' + version: 10.0.1(eslint@10.2.1) '@homarr/prettier-config': specifier: workspace:^0.1.0 version: link:../prettier @@ -2945,7 +2951,7 @@ importers: version: link:../typescript eslint: specifier: 'catalog:' - version: 9.39.4 + version: 10.2.1 typescript: specifier: 'catalog:' version: 5.9.3 @@ -3787,33 +3793,34 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.21.2': - resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-array@0.23.5': + resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/config-helpers@0.4.2': - resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-helpers@0.5.5': + resolution: {integrity: sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/core@0.17.0': - resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@1.2.1': + resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/eslintrc@3.3.5': - resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true - '@eslint/js@9.39.4': - resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@3.0.5': + resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/object-schema@2.1.7': - resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/plugin-kit@0.4.1': - resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.7.1': + resolution: {integrity: sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@exodus/bytes@1.15.0': resolution: {integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==} @@ -5674,6 +5681,9 @@ packages: '@types/dockerode@4.0.1': resolution: {integrity: sha512-cmUpB+dPN955PxBEuXE3f6lKO1hHiIGYJA46IVF3BJpNsZGvtBDcRnlrHYHtOH/B6vtDOyl2kZ2ShAu3mgc27Q==} + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} @@ -7275,25 +7285,25 @@ packages: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - eslint-scope@8.4.0: - resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-scope@9.1.2: + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.1: - resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@5.0.0: resolution: {integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@9.39.4: - resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint@10.2.1: + resolution: {integrity: sha512-wiyGaKsDgqXvF40P8mDwiUp/KQjE1FdrIEJsM8PZ3XCiniTMXS3OHWWUe5FI5agoCnr8x4xPrTDZuxsBlNHl+Q==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: jiti: '*' @@ -7301,17 +7311,17 @@ packages: jiti: optional: true - espree@10.4.0: - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@11.2.0: + resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -7680,10 +7690,6 @@ packages: global@4.4.0: resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -8401,9 +8407,6 @@ packages: lodash.isstring@4.0.1: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash.uniqby@4.7.0: resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} @@ -8646,6 +8649,10 @@ packages: resolution: {integrity: sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==} engines: {node: 18 || 20 || >=22} + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} + minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} @@ -10236,10 +10243,6 @@ packages: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - strnum@2.2.3: resolution: {integrity: sha512-oKx6RUCuHfT3oyVjtnrmn19H1SiCqgJSg+54XqURKp5aCMbrXrhLjRN9TjuwMjiYstZ0MzDrHqkGZ5dFTKd+zg==} @@ -11877,50 +11880,38 @@ snapshots: '@esbuild/win32-x64@0.28.0': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4)': + '@eslint-community/eslint-utils@4.9.1(eslint@10.2.1)': dependencies: - eslint: 9.39.4 + eslint: 10.2.1 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/config-array@0.21.2': + '@eslint/config-array@0.23.5': dependencies: - '@eslint/object-schema': 2.1.7 + '@eslint/object-schema': 3.0.5 debug: 4.4.3 - minimatch: 3.1.5 + minimatch: 10.2.5 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.4.2': + '@eslint/config-helpers@0.5.5': dependencies: - '@eslint/core': 0.17.0 + '@eslint/core': 1.2.1 - '@eslint/core@0.17.0': + '@eslint/core@1.2.1': dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.5': + '@eslint/js@10.0.1(eslint@10.2.1)': + optionalDependencies: + eslint: 10.2.1 + + '@eslint/object-schema@3.0.5': {} + + '@eslint/plugin-kit@0.7.1': dependencies: - ajv: 6.14.0 - 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.1 - minimatch: 3.1.5 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@9.39.4': {} - - '@eslint/object-schema@2.1.7': {} - - '@eslint/plugin-kit@0.4.1': - dependencies: - '@eslint/core': 0.17.0 + '@eslint/core': 1.2.1 levn: 0.4.1 '@exodus/bytes@1.15.0(@noble/hashes@2.0.1)': @@ -14043,6 +14034,8 @@ snapshots: '@types/node': 24.12.2 '@types/ssh2': 1.15.1 + '@types/esrecurse@4.3.1': {} + '@types/estree-jsx@1.0.5': dependencies: '@types/estree': 1.0.8 @@ -14183,15 +14176,15 @@ snapshots: dependencies: '@types/node': 24.12.2 - '@typescript-eslint/eslint-plugin@8.58.2(@typescript-eslint/parser@8.58.2(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.58.2(@typescript-eslint/parser@8.58.2(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.58.2(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/parser': 8.58.2(eslint@10.2.1)(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.58.2 - '@typescript-eslint/type-utils': 8.58.2(eslint@9.39.4)(typescript@5.9.3) - '@typescript-eslint/utils': 8.58.2(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.58.2(eslint@10.2.1)(typescript@5.9.3) + '@typescript-eslint/utils': 8.58.2(eslint@10.2.1)(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.58.2 - eslint: 9.39.4 + eslint: 10.2.1 ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@5.9.3) @@ -14199,14 +14192,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.58.2(eslint@9.39.4)(typescript@5.9.3)': + '@typescript-eslint/parser@8.58.2(eslint@10.2.1)(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.58.2 '@typescript-eslint/types': 8.58.2 '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.58.2 debug: 4.4.3 - eslint: 9.39.4 + eslint: 10.2.1 typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -14229,13 +14222,13 @@ snapshots: dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.58.2(eslint@9.39.4)(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.58.2(eslint@10.2.1)(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.58.2 '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) - '@typescript-eslint/utils': 8.58.2(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/utils': 8.58.2(eslint@10.2.1)(typescript@5.9.3) debug: 4.4.3 - eslint: 9.39.4 + eslint: 10.2.1 ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: @@ -14258,13 +14251,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.58.2(eslint@9.39.4)(typescript@5.9.3)': + '@typescript-eslint/utils@8.58.2(eslint@10.2.1)(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) '@typescript-eslint/scope-manager': 8.58.2 '@typescript-eslint/types': 8.58.2 '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) - eslint: 9.39.4 + eslint: 10.2.1 typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -15748,14 +15741,14 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-prettier@10.1.8(eslint@9.39.4): + eslint-config-prettier@10.1.8(eslint@10.2.1): dependencies: - eslint: 9.39.4 + eslint: 10.2.1 - eslint-config-turbo@2.9.6(eslint@9.39.4)(turbo@2.9.6): + eslint-config-turbo@2.9.6(eslint@10.2.1)(turbo@2.9.6): dependencies: - eslint: 9.39.4 - eslint-plugin-turbo: 2.9.6(eslint@9.39.4)(turbo@2.9.6) + eslint: 10.2.1 + eslint-plugin-turbo: 2.9.6(eslint@10.2.1)(turbo@2.9.6) turbo: 2.9.6 eslint-import-resolver-node@0.3.9: @@ -15766,17 +15759,17 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.58.2(eslint@9.39.4)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.58.2(eslint@10.2.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.58.2(eslint@9.39.4)(typescript@5.9.3) - eslint: 9.39.4 + '@typescript-eslint/parser': 8.58.2(eslint@10.2.1)(typescript@5.9.3) + eslint: 10.2.1 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.58.2(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.58.2(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -15785,9 +15778,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.39.4 + eslint: 10.2.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.58.2(eslint@9.39.4)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.58.2(eslint@10.2.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -15799,13 +15792,13 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.58.2(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/parser': 8.58.2(eslint@10.2.1)(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.4): + eslint-plugin-jsx-a11y@6.10.2(eslint@10.2.1): dependencies: aria-query: 5.3.2 array-includes: 3.1.9 @@ -15815,7 +15808,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.39.4 + eslint: 10.2.1 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -15824,17 +15817,17 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-react-hooks@6.1.1(eslint@9.39.4): + eslint-plugin-react-hooks@6.1.1(eslint@10.2.1): dependencies: '@babel/core': 7.29.0 '@babel/parser': 7.29.2 - eslint: 9.39.4 + eslint: 10.2.1 zod: 4.3.6 zod-validation-error: 4.0.2(zod@4.3.6) transitivePeerDependencies: - supports-color - eslint-plugin-react@7.37.5(eslint@9.39.4): + eslint-plugin-react@7.37.5(eslint@10.2.1): dependencies: array-includes: 3.1.9 array.prototype.findlast: 1.2.5 @@ -15842,7 +15835,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.39.4 + eslint: 10.2.1 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -15856,10 +15849,10 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.9.6(eslint@9.39.4)(turbo@2.9.6): + eslint-plugin-turbo@2.9.6(eslint@10.2.1)(turbo@2.9.6): dependencies: dotenv: 16.0.3 - eslint: 9.39.4 + eslint: 10.2.1 turbo: 2.9.6 eslint-scope@5.1.1: @@ -15867,40 +15860,39 @@ snapshots: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@8.4.0: + eslint-scope@9.1.2: dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.8 esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.1: {} - eslint-visitor-keys@5.0.0: {} - eslint@9.39.4: + eslint-visitor-keys@5.0.1: {} + + eslint@10.2.1: dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1) '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.21.2 - '@eslint/config-helpers': 0.4.2 - '@eslint/core': 0.17.0 - '@eslint/eslintrc': 3.3.5 - '@eslint/js': 9.39.4 - '@eslint/plugin-kit': 0.4.1 + '@eslint/config-array': 0.23.5 + '@eslint/config-helpers': 0.5.5 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.1 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.2 '@types/estree': 1.0.8 ajv: 6.14.0 - 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.6.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 @@ -15910,22 +15902,21 @@ snapshots: 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.5 + minimatch: 10.2.5 natural-compare: 1.4.0 optionator: 0.9.4 transitivePeerDependencies: - supports-color - espree@10.4.0: + espree@11.2.0: dependencies: acorn: 8.16.0 acorn-jsx: 5.3.2(acorn@8.16.0) - eslint-visitor-keys: 4.2.1 + eslint-visitor-keys: 5.0.1 esprima@4.0.1: {} - esquery@1.6.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -16324,8 +16315,6 @@ snapshots: min-document: 2.19.0 process: 0.11.10 - globals@14.0.0: {} - globalthis@1.0.4: dependencies: define-properties: 1.2.1 @@ -17049,8 +17038,6 @@ snapshots: lodash.isstring@4.0.1: {} - lodash.merge@4.6.2: {} - lodash.uniqby@4.7.0: {} lodash@4.18.1: {} @@ -17412,6 +17399,10 @@ snapshots: dependencies: brace-expansion: 5.0.5 + minimatch@10.2.5: + dependencies: + brace-expansion: 5.0.5 + minimatch@3.1.5: dependencies: brace-expansion: 5.0.5 @@ -19205,8 +19196,6 @@ snapshots: strip-json-comments@2.0.1: {} - strip-json-comments@3.1.1: {} - strnum@2.2.3: {} style-to-js@1.1.16: @@ -19675,13 +19664,13 @@ snapshots: dependencies: ts-toolbelt: 9.6.0 - typescript-eslint@8.58.2(eslint@9.39.4)(typescript@5.9.3): + typescript-eslint@8.58.2(eslint@10.2.1)(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.58.2(@typescript-eslint/parser@8.58.2(eslint@9.39.4)(typescript@5.9.3))(eslint@9.39.4)(typescript@5.9.3) - '@typescript-eslint/parser': 8.58.2(eslint@9.39.4)(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.58.2(@typescript-eslint/parser@8.58.2(eslint@10.2.1)(typescript@5.9.3))(eslint@10.2.1)(typescript@5.9.3) + '@typescript-eslint/parser': 8.58.2(eslint@10.2.1)(typescript@5.9.3) '@typescript-eslint/typescript-estree': 8.58.2(typescript@5.9.3) - '@typescript-eslint/utils': 8.58.2(eslint@9.39.4)(typescript@5.9.3) - eslint: 9.39.4 + '@typescript-eslint/utils': 8.58.2(eslint@10.2.1)(typescript@5.9.3) + eslint: 10.2.1 typescript: 5.9.3 transitivePeerDependencies: - supports-color diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 882bf2124..a64edc836 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,11 +2,6 @@ packages: - apps/* - packages/* - tooling/* -minimumReleaseAge: 4320 -minimumReleaseAgeExclude: - - next - - "@next/*" -catalogMode: strict catalog: "@auth/core": ^0.41.2 "@auth/drizzle-adapter": ^1.11.2 @@ -18,6 +13,7 @@ catalog: "@dnd-kit/sortable": ^10.0.0 "@dnd-kit/utilities": ^3.2.2 "@drizzle-team/brocli": ^0.12.0 + '@eslint/js': 10.0.1 "@extractus/feed-extractor": 7.1.7 "@gitbeaker/rest": ^43.8.0 "@homarr/gridstack": ^1.12.0 @@ -125,7 +121,7 @@ catalog: drizzle-orm: ^0.45.2 drizzle-zod: ^0.8.3 esbuild: ^0.28.0 - eslint: ^9.39.4 + eslint: ^10.2.1 eslint-config-prettier: ^10.1.8 eslint-config-turbo: ^2.9.6 eslint-plugin-import: ^2.32.0 @@ -192,3 +188,8 @@ catalog: zod: ^4.3.6 zod-form-data: ^3.0.1 zod-validation-error: ^5.0.0 +catalogMode: strict +minimumReleaseAge: 4320 +minimumReleaseAgeExclude: + - next + - "@next/*" diff --git a/tooling/eslint/base.js b/tooling/eslint/base.js index c84d20581..638928a52 100644 --- a/tooling/eslint/base.js +++ b/tooling/eslint/base.js @@ -1,10 +1,9 @@ -/// - import eslint from "@eslint/js"; import importPlugin from "eslint-plugin-import"; +import { defineConfig } from "eslint/config"; import tseslint from "typescript-eslint"; -export default tseslint.config( +export default defineConfig( { // Globally ignored files ignores: ["**/*.config.js", "**/*.cjs", "**/lang/*.d.json.ts"], diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index de116c6a1..60cee7fb8 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -27,6 +27,7 @@ "typescript-eslint": "catalog:" }, "devDependencies": { + "@eslint/js": "catalog:", "@homarr/prettier-config": "workspace:^0.1.0", "@homarr/tsconfig": "workspace:^0.1.0", "eslint": "catalog:", diff --git a/tooling/eslint/react.js b/tooling/eslint/react.js index abbf8f1d1..d9e9e7355 100644 --- a/tooling/eslint/react.js +++ b/tooling/eslint/react.js @@ -1,3 +1,5 @@ +/// + import reactPlugin from "eslint-plugin-react"; import hooksPlugin from "eslint-plugin-react-hooks"; diff --git a/tooling/eslint/types.d.ts b/tooling/eslint/types.d.ts index 37cfded93..bdee07619 100644 --- a/tooling/eslint/types.d.ts +++ b/tooling/eslint/types.d.ts @@ -1,38 +1,3 @@ -/** - * Since the ecosystem hasn't fully migrated to ESLint's new FlatConfig system yet, - * we "need" to type some of the plugins manually :( - */ - -declare module "@eslint/js" { - // Why the hell doesn't eslint themselves export their types? - import type { Linter } from "eslint"; - - export const configs: { - readonly recommended: { readonly rules: Readonly }; - readonly all: { readonly rules: Readonly }; - }; -} - -declare module "eslint-plugin-import" { - import type { Linter, Rule } from "eslint"; - - export const configs: { - recommended: { rules: Linter.RulesRecord }; - }; - export const rules: Record; -} - -declare module "eslint-plugin-react" { - import type { Linter, Rule } from "eslint"; - - export const configs: { - recommended: { rules: Linter.RulesRecord }; - all: { rules: Linter.RulesRecord }; - "jsx-runtime": { rules: Linter.RulesRecord }; - }; - export const rules: Record; -} - declare module "eslint-plugin-react-hooks" { import type { Linter, Rule } from "eslint"; @@ -46,13 +11,3 @@ declare module "eslint-plugin-react-hooks" { }; export const rules: Record; } - -declare module "@next/eslint-plugin-next" { - import type { Linter, Rule } from "eslint"; - - export const configs: { - recommended: { rules: Linter.RulesRecord }; - "core-web-vitals": { rules: Linter.RulesRecord }; - }; - export const rules: Record; -}