From d28d0624f664601ab5a057c46d2c11d6b450bf1a Mon Sep 17 00:00:00 2001 From: darthmaim Date: Fri, 6 Dec 2024 20:49:48 +0100 Subject: [PATCH 1/3] Upgrade `eslint` to `9.16.0` --- apps/legacy-importer/package.json | 2 +- apps/web/package.json | 2 +- apps/worker/package.json | 2 +- packages/eslint-plugin-nextjs/package.json | 4 +- packages/helper/package.json | 2 +- packages/publish-package/package.json | 2 +- packages/ui/package.json | 2 +- pnpm-lock.yaml | 394 ++++++++++++++++++--- 8 files changed, 359 insertions(+), 51 deletions(-) diff --git a/apps/legacy-importer/package.json b/apps/legacy-importer/package.json index ab57a99e6..6d463c644 100644 --- a/apps/legacy-importer/package.json +++ b/apps/legacy-importer/package.json @@ -16,7 +16,7 @@ "@gw2treasures/eslint-config": "workspace:*", "@gw2treasures/tsconfig": "workspace:*", "@types/node": "22.10.1", - "eslint": "8.57.1", + "eslint": "9.16.0", "prisma": "6.0.1", "typescript": "5.7.2" } diff --git a/apps/web/package.json b/apps/web/package.json index b5c826ee0..a78a53f4c 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -69,7 +69,7 @@ "@types/react-dom": "19.0.1", "babel-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124", "csstype": "3.1.3", - "eslint": "8.57.1", + "eslint": "9.16.0", "eslint-config-next": "15.0.4", "eslint-plugin-react-compiler": "19.0.0-beta-df7b47d-20241124", "gw2-api-types": "0.0.8", diff --git a/apps/worker/package.json b/apps/worker/package.json index 736a538da..6284f465c 100644 --- a/apps/worker/package.json +++ b/apps/worker/package.json @@ -31,7 +31,7 @@ "@types/node": "22.10.1", "@typescript-eslint/parser": "8.17.0", "@vercel/ncc": "0.38.3", - "eslint": "8.57.1", + "eslint": "9.16.0", "jest": "29.7.0", "ts-jest": "29.2.5", "typescript": "5.7.2" diff --git a/packages/eslint-plugin-nextjs/package.json b/packages/eslint-plugin-nextjs/package.json index e85c7f788..c82eaa4a8 100644 --- a/packages/eslint-plugin-nextjs/package.json +++ b/packages/eslint-plugin-nextjs/package.json @@ -35,12 +35,12 @@ "devDependencies": { "@gw2treasures/eslint-config": "workspace:*", "@gw2treasures/tsconfig": "workspace:*", - "eslint": "8.57.1", + "eslint": "9.16.0", "tsup": "8.3.5", "typescript": "5.7.2" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.56.0 || ^9.0.0" }, "publishConfig": { "access": "public" diff --git a/packages/helper/package.json b/packages/helper/package.json index 6e69eaacf..f16bad9ce 100644 --- a/packages/helper/package.json +++ b/packages/helper/package.json @@ -36,7 +36,7 @@ "devDependencies": { "@gw2treasures/eslint-config": "workspace:*", "@gw2treasures/tsconfig": "workspace:*", - "eslint": "8.57.1", + "eslint": "9.16.0", "typescript": "5.7.2" }, "publishConfig": { diff --git a/packages/publish-package/package.json b/packages/publish-package/package.json index 01485f1a2..3ce8e689b 100644 --- a/packages/publish-package/package.json +++ b/packages/publish-package/package.json @@ -35,7 +35,7 @@ "@gw2treasures/eslint-config": "workspace:*", "@gw2treasures/tsconfig": "workspace:*", "@types/node": "22.10.1", - "eslint": "8.57.1", + "eslint": "9.16.0", "typescript": "5.7.2" }, "publishConfig": { diff --git a/packages/ui/package.json b/packages/ui/package.json index 9db09f5e6..9a82806ec 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -38,7 +38,7 @@ "@types/react": "19.0.1", "@types/react-dom": "19.0.1", "csstype": "3.1.3", - "eslint": "8.57.1", + "eslint": "9.16.0", "eslint-config-next": "15.0.4", "typescript": "5.7.2" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a7909ece6..78f95a5d5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,8 +49,8 @@ importers: specifier: 22.10.1 version: 22.10.1 eslint: - specifier: 8.57.1 - version: 8.57.1 + specifier: 9.16.0 + version: 9.16.0 prisma: specifier: 6.0.1 version: 6.0.1 @@ -227,14 +227,14 @@ importers: specifier: 3.1.3 version: 3.1.3 eslint: - specifier: 8.57.1 - version: 8.57.1 + specifier: 9.16.0 + version: 9.16.0 eslint-config-next: specifier: 15.0.4 - version: 15.0.4(eslint@8.57.1)(typescript@5.7.2) + version: 15.0.4(eslint@9.16.0)(typescript@5.7.2) eslint-plugin-react-compiler: specifier: 19.0.0-beta-df7b47d-20241124 - version: 19.0.0-beta-df7b47d-20241124(eslint@8.57.1) + version: 19.0.0-beta-df7b47d-20241124(eslint@9.16.0) gw2-api-types: specifier: 0.0.8 version: 0.0.8 @@ -301,13 +301,13 @@ importers: version: 22.10.1 '@typescript-eslint/parser': specifier: 8.17.0 - version: 8.17.0(eslint@8.57.1)(typescript@5.7.2) + version: 8.17.0(eslint@9.16.0)(typescript@5.7.2) '@vercel/ncc': specifier: 0.38.3 version: 0.38.3 eslint: - specifier: 8.57.1 - version: 8.57.1 + specifier: 9.16.0 + version: 9.16.0 jest: specifier: 29.7.0 version: 29.7.0(@types/node@22.10.1)(ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2)) @@ -356,7 +356,7 @@ importers: version: 8.57.1 eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + version: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1) eslint-plugin-react: specifier: 7.37.2 version: 7.37.2(eslint@8.57.1) @@ -365,7 +365,7 @@ importers: dependencies: '@typescript-eslint/utils': specifier: 8.17.0 - version: 8.17.0(eslint@8.57.1)(typescript@5.7.2) + version: 8.17.0(eslint@9.16.0)(typescript@5.7.2) devDependencies: '@gw2treasures/eslint-config': specifier: workspace:* @@ -374,8 +374,8 @@ importers: specifier: workspace:* version: link:../tsconfig eslint: - specifier: 8.57.1 - version: 8.57.1 + specifier: 9.16.0 + version: 9.16.0 tsup: specifier: 8.3.5 version: 8.3.5(postcss@8.4.31)(typescript@5.7.2) @@ -392,8 +392,8 @@ importers: specifier: workspace:* version: link:../tsconfig eslint: - specifier: 8.57.1 - version: 8.57.1 + specifier: 9.16.0 + version: 9.16.0 typescript: specifier: 5.7.2 version: 5.7.2 @@ -441,8 +441,8 @@ importers: specifier: 22.10.1 version: 22.10.1 eslint: - specifier: 8.57.1 - version: 8.57.1 + specifier: 9.16.0 + version: 9.16.0 typescript: specifier: 5.7.2 version: 5.7.2 @@ -495,11 +495,11 @@ importers: specifier: 3.1.3 version: 3.1.3 eslint: - specifier: 8.57.1 - version: 8.57.1 + specifier: 9.16.0 + version: 9.16.0 eslint-config-next: specifier: 15.0.4 - version: 15.0.4(eslint@8.57.1)(typescript@5.7.2) + version: 15.0.4(eslint@9.16.0)(typescript@5.7.2) typescript: specifier: 5.7.2 version: 5.7.2 @@ -871,14 +871,42 @@ packages: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.19.1': + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.9.1': + resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@8.57.1': resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/js@9.16.0': + resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.4': + resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@floating-ui/core@1.6.8': resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} @@ -917,6 +945,14 @@ packages: '@gw2me/client@0.5.0': resolution: {integrity: sha512-AMWcVcN/ZHhTBJFNNWkucvC2xuBcRFBabXaPuUUoZvuZ2TiQGWEHVufCit5kJOwO/DU7awJe+0mZTcGaYtg7IQ==} + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} + '@humanwhocodes/config-array@0.13.0': resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} @@ -930,6 +966,14 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} + '@img/sharp-darwin-arm64@0.33.5': resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -1474,6 +1518,9 @@ packages: '@types/jsdom@20.0.1': resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} @@ -2004,6 +2051,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + css-select@5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} @@ -2406,6 +2457,10 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + 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} @@ -2420,6 +2475,16 @@ packages: deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true + eslint@9.16.0: + resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + espree@10.3.0: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2507,6 +2572,10 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} @@ -2526,6 +2595,10 @@ packages: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} @@ -2620,6 +2693,10 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} + 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'} @@ -4649,8 +4726,27 @@ snapshots: eslint: 8.57.1 eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.4.0(eslint@9.16.0)': + dependencies: + eslint: 9.16.0 + eslint-visitor-keys: 3.4.3 + '@eslint-community/regexpp@4.10.0': {} + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.19.1': + dependencies: + '@eslint/object-schema': 2.1.5 + debug: 4.3.7 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.9.1': + dependencies: + '@types/json-schema': 7.0.15 + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 @@ -4665,8 +4761,30 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/eslintrc@3.2.0': + dependencies: + ajv: 6.12.6 + debug: 4.3.7 + espree: 10.3.0 + globals: 14.0.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/js@8.57.1': {} + '@eslint/js@9.16.0': {} + + '@eslint/object-schema@2.1.5': {} + + '@eslint/plugin-kit@0.2.4': + dependencies: + levn: 0.4.1 + '@floating-ui/core@1.6.8': dependencies: '@floating-ui/utils': 0.2.8 @@ -4706,6 +4824,13 @@ snapshots: '@gw2me/client@0.5.0': {} + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -4718,6 +4843,10 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.1': {} + '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.0.4 @@ -5293,6 +5422,8 @@ snapshots: '@types/tough-cookie': 4.0.5 parse5: 7.1.2 + '@types/json-schema@7.0.15': {} + '@types/json5@0.0.29': {} '@types/lodash@4.14.202': {} @@ -5349,6 +5480,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 + eslint: 9.16.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.7.2) + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@typescript-eslint/scope-manager': 8.17.0 @@ -5362,6 +5511,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2)': + dependencies: + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 + debug: 4.3.7 + eslint: 9.16.0 + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@8.17.0': dependencies: '@typescript-eslint/types': 8.17.0 @@ -5379,6 +5541,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': + dependencies: + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + debug: 4.3.7 + eslint: 9.16.0 + ts-api-utils: 1.3.0(typescript@5.7.2) + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@8.17.0': {} '@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2)': @@ -5408,6 +5582,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + eslint: 9.16.0 + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.17.0': dependencies: '@typescript-eslint/types': 8.17.0 @@ -5951,6 +6137,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + css-select@5.1.0: dependencies: boolbase: 1.0.0 @@ -6340,19 +6532,19 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-next@15.0.4(eslint@8.57.1)(typescript@5.7.2): + eslint-config-next@15.0.4(eslint@9.16.0)(typescript@5.7.2): dependencies: '@next/eslint-plugin-next': 15.0.4 '@rushstack/eslint-patch': 1.10.3 - '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/parser': 8.17.0(eslint@8.57.1)(typescript@5.7.2) - eslint: 8.57.1 + '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + eslint: 9.16.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) - eslint-plugin-react: 7.37.2(eslint@8.57.1) - eslint-plugin-react-hooks: 5.0.0(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0) + eslint-plugin-jsx-a11y: 6.10.0(eslint@9.16.0) + eslint-plugin-react: 7.37.2(eslint@9.16.0) + eslint-plugin-react-hooks: 5.0.0(eslint@9.16.0) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -6381,37 +6573,47 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7 enhanced-resolve: 5.17.0 - eslint: 8.57.1 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint: 9.16.0 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0))(eslint@9.16.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-bun-module: 1.1.0 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 8.17.0(eslint@8.57.1)(typescript@5.7.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0))(eslint@9.16.0): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + eslint: 9.16.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0) + transitivePeerDependencies: + - supports-color + + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -6422,7 +6624,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -6440,7 +6642,36 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 9.16.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0))(eslint@9.16.0) + hasown: 2.0.2 + is-core-module: 2.15.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + string.prototype.trimend: 1.0.8 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-jsx-a11y@6.10.0(eslint@9.16.0): dependencies: aria-query: 5.1.3 array-includes: 3.1.8 @@ -6451,7 +6682,7 @@ snapshots: damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 es-iterator-helpers: 1.1.0 - eslint: 8.57.1 + eslint: 9.16.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -6460,21 +6691,21 @@ snapshots: safe-regex-test: 1.0.3 string.prototype.includes: 2.0.0 - eslint-plugin-react-compiler@19.0.0-beta-df7b47d-20241124(eslint@8.57.1): + eslint-plugin-react-compiler@19.0.0-beta-df7b47d-20241124(eslint@9.16.0): dependencies: '@babel/core': 7.24.6 '@babel/parser': 7.26.3 '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.24.6) - eslint: 8.57.1 + eslint: 9.16.0 hermes-parser: 0.25.1 zod: 3.23.8 zod-validation-error: 3.3.0(zod@3.23.8) transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks@5.0.0(eslint@8.57.1): + eslint-plugin-react-hooks@5.0.0(eslint@9.16.0): dependencies: - eslint: 8.57.1 + eslint: 9.16.0 eslint-plugin-react@7.37.2(eslint@8.57.1): dependencies: @@ -6498,11 +6729,38 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 + eslint-plugin-react@7.37.2(eslint@9.16.0): + dependencies: + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.1.0 + eslint: 9.16.0 + estraverse: 5.3.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.values: 1.2.0 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-scope@8.2.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.2.0: {} @@ -6550,6 +6808,45 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@9.16.0: + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.9.1 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.16.0 + '@eslint/plugin-kit': 0.2.4 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.1 + '@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.3.7 + escape-string-regexp: 4.0.0 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.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.1 + 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 + transitivePeerDependencies: + - supports-color + espree@10.3.0: dependencies: acorn: 8.14.0 @@ -6645,6 +6942,10 @@ snapshots: dependencies: flat-cache: 3.2.0 + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + filelist@1.0.4: dependencies: minimatch: 5.1.6 @@ -6669,6 +6970,11 @@ snapshots: keyv: 4.5.4 rimraf: 3.0.2 + flat-cache@4.0.1: + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + flatted@3.2.9: {} for-each@0.3.3: @@ -6772,6 +7078,8 @@ snapshots: dependencies: type-fest: 0.20.2 + globals@14.0.0: {} + globalthis@1.0.4: dependencies: define-properties: 1.2.1 From 2870b98512ba38e7d5290864eee483ab4b2a1043 Mon Sep 17 00:00:00 2001 From: darthmaim Date: Fri, 6 Dec 2024 23:47:59 +0100 Subject: [PATCH 2/3] Migrate eslint configs --- apps/legacy-importer/.eslintrc.json | 5 - apps/legacy-importer/eslint.config.mjs | 13 + apps/legacy-importer/package.json | 2 + apps/web/.eslintrc.json | 19 - apps/web/eslint.config.mjs | 32 ++ apps/web/package.json | 5 +- apps/worker/.eslintrc.json | 5 - apps/worker/eslint.config.mjs | 13 + apps/worker/package.json | 2 + packages/eslint-config/configs/index.json | 7 +- packages/eslint-config/package.json | 2 +- packages/eslint-plugin-nextjs/.eslintrc.json | 7 - .../eslint-plugin-nextjs/eslint.config.mjs | 17 + packages/eslint-plugin-nextjs/package.json | 2 + packages/helper/.eslintrc.json | 5 - packages/helper/eslint.config.mjs | 13 + packages/helper/package.json | 2 + packages/publish-package/.eslintrc.json | 9 - packages/publish-package/eslint.config.mjs | 17 + packages/publish-package/package.json | 2 + packages/ui/.eslintrc.json | 13 - packages/ui/eslint.config.mjs | 20 + packages/ui/package.json | 2 + pnpm-lock.yaml | 406 ++++-------------- 24 files changed, 230 insertions(+), 390 deletions(-) delete mode 100644 apps/legacy-importer/.eslintrc.json create mode 100644 apps/legacy-importer/eslint.config.mjs delete mode 100644 apps/web/.eslintrc.json create mode 100644 apps/web/eslint.config.mjs delete mode 100644 apps/worker/.eslintrc.json create mode 100644 apps/worker/eslint.config.mjs delete mode 100644 packages/eslint-plugin-nextjs/.eslintrc.json create mode 100644 packages/eslint-plugin-nextjs/eslint.config.mjs delete mode 100644 packages/helper/.eslintrc.json create mode 100644 packages/helper/eslint.config.mjs delete mode 100644 packages/publish-package/.eslintrc.json create mode 100644 packages/publish-package/eslint.config.mjs delete mode 100644 packages/ui/.eslintrc.json create mode 100644 packages/ui/eslint.config.mjs diff --git a/apps/legacy-importer/.eslintrc.json b/apps/legacy-importer/.eslintrc.json deleted file mode 100644 index 9e0a4e368..000000000 --- a/apps/legacy-importer/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "root": true, - - "extends": ["@gw2treasures/eslint-config"] -} diff --git a/apps/legacy-importer/eslint.config.mjs b/apps/legacy-importer/eslint.config.mjs new file mode 100644 index 000000000..1a2e5c1c9 --- /dev/null +++ b/apps/legacy-importer/eslint.config.mjs @@ -0,0 +1,13 @@ +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import js from '@eslint/js'; +import { FlatCompat } from '@eslint/eslintrc'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); +export default [...compat.extends('@gw2treasures/eslint-config')]; diff --git a/apps/legacy-importer/package.json b/apps/legacy-importer/package.json index 6d463c644..7b170fa2e 100644 --- a/apps/legacy-importer/package.json +++ b/apps/legacy-importer/package.json @@ -13,6 +13,8 @@ "gw2-api-types": "0.0.8" }, "devDependencies": { + "@eslint/eslintrc": "3.2.0", + "@eslint/js": "9.16.0", "@gw2treasures/eslint-config": "workspace:*", "@gw2treasures/tsconfig": "workspace:*", "@types/node": "22.10.1", diff --git a/apps/web/.eslintrc.json b/apps/web/.eslintrc.json deleted file mode 100644 index fef48711a..000000000 --- a/apps/web/.eslintrc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "root": true, - - "extends": [ - "next/core-web-vitals", - "@gw2treasures/eslint-config/react" - ], - - "plugins": ["@gw2treasures/nextjs", "eslint-plugin-react-compiler"], - - "overrides": [ - { - "files": ["**/page.tsx"], - "rules": { - "@gw2treasures/nextjs/require-metadata": "warn" - } - } - ] -} diff --git a/apps/web/eslint.config.mjs b/apps/web/eslint.config.mjs new file mode 100644 index 000000000..0ae76fba6 --- /dev/null +++ b/apps/web/eslint.config.mjs @@ -0,0 +1,32 @@ +import nextJsPlugin from '@gw2treasures/eslint-plugin-nextjs'; +import reactCompiler from 'eslint-plugin-react-compiler'; +import js from '@eslint/js'; +import tseslint from 'typescript-eslint'; +import { FlatCompat } from '@eslint/eslintrc'; + +const compat = new FlatCompat({ + baseDirectory: import.meta.url, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +export default tseslint.config( + { ignores: ['.next'] }, + ...compat.extends('next/core-web-vitals', '@gw2treasures/eslint-config/react'), + { + plugins: { + '@gw2treasures/nextjs': nextJsPlugin, + 'react-compiler': reactCompiler, + }, + }, + { + files: ['**/page.tsx'], + rules: { + '@gw2treasures/nextjs/require-metadata': 'warn', + }, + }, { + files: ['eslint.config.mjs'], + // eslint-disable-next-line import/no-named-as-default-member + extends: [tseslint.configs.disableTypeChecked], + } +); diff --git a/apps/web/package.json b/apps/web/package.json index a78a53f4c..1dc844d6b 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -55,6 +55,8 @@ "sharp": "0.33.5" }, "devDependencies": { + "@eslint/eslintrc": "3.2.0", + "@eslint/js": "9.16.0", "@gw2api/types": "0.0.22", "@gw2treasures/eslint-config": "workspace:*", "@gw2treasures/eslint-plugin-nextjs": "workspace:*", @@ -77,6 +79,7 @@ "jest-environment-jsdom": "29.7.0", "ts-node": "10.9.2", "tslib": "2.8.1", - "typescript": "5.7.2" + "typescript": "5.7.2", + "typescript-eslint": "8.17.0" } } diff --git a/apps/worker/.eslintrc.json b/apps/worker/.eslintrc.json deleted file mode 100644 index 9e0a4e368..000000000 --- a/apps/worker/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "root": true, - - "extends": ["@gw2treasures/eslint-config"] -} diff --git a/apps/worker/eslint.config.mjs b/apps/worker/eslint.config.mjs new file mode 100644 index 000000000..1a2e5c1c9 --- /dev/null +++ b/apps/worker/eslint.config.mjs @@ -0,0 +1,13 @@ +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import js from '@eslint/js'; +import { FlatCompat } from '@eslint/eslintrc'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); +export default [...compat.extends('@gw2treasures/eslint-config')]; diff --git a/apps/worker/package.json b/apps/worker/package.json index 6284f465c..1acbfb644 100644 --- a/apps/worker/package.json +++ b/apps/worker/package.json @@ -24,6 +24,8 @@ "sharp": "0.33.5" }, "devDependencies": { + "@eslint/eslintrc": "3.2.0", + "@eslint/js": "9.16.0", "@gw2api/types": "0.0.22", "@gw2treasures/eslint-config": "workspace:*", "@gw2treasures/tsconfig": "workspace:*", diff --git a/packages/eslint-config/configs/index.json b/packages/eslint-config/configs/index.json index 36ff8b426..42c86a029 100644 --- a/packages/eslint-config/configs/index.json +++ b/packages/eslint-config/configs/index.json @@ -88,5 +88,10 @@ { "selector": "default", "format": null }, { "selector": "typeLike", "format": ["PascalCase"] } ] - } + }, + + "overrides": [{ + "files": ["**/eslint.config.mjs"], + "extends": "plugin:@typescript-eslint/disable-type-checked" + }] } diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index e6c2d6f22..20efa81fe 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -35,7 +35,7 @@ "eslint-plugin-react": "7.37.2" }, "peerDependencies": { - "eslint": "^8.57.0" + "eslint": "^9.16.0" }, "publishConfig": { "access": "public" diff --git a/packages/eslint-plugin-nextjs/.eslintrc.json b/packages/eslint-plugin-nextjs/.eslintrc.json deleted file mode 100644 index d79508909..000000000 --- a/packages/eslint-plugin-nextjs/.eslintrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "root": true, - - "extends": ["@gw2treasures/eslint-config"], - - "ignorePatterns": ["dist/**"] -} diff --git a/packages/eslint-plugin-nextjs/eslint.config.mjs b/packages/eslint-plugin-nextjs/eslint.config.mjs new file mode 100644 index 000000000..db01fae88 --- /dev/null +++ b/packages/eslint-plugin-nextjs/eslint.config.mjs @@ -0,0 +1,17 @@ +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import js from '@eslint/js'; +import { FlatCompat } from '@eslint/eslintrc'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +export default [ + { ignores: ['dist/**/*'] }, + ...compat.extends('@gw2treasures/eslint-config') +]; diff --git a/packages/eslint-plugin-nextjs/package.json b/packages/eslint-plugin-nextjs/package.json index c82eaa4a8..60e567e7d 100644 --- a/packages/eslint-plugin-nextjs/package.json +++ b/packages/eslint-plugin-nextjs/package.json @@ -33,6 +33,8 @@ "@typescript-eslint/utils": "8.17.0" }, "devDependencies": { + "@eslint/eslintrc": "3.2.0", + "@eslint/js": "9.16.0", "@gw2treasures/eslint-config": "workspace:*", "@gw2treasures/tsconfig": "workspace:*", "eslint": "9.16.0", diff --git a/packages/helper/.eslintrc.json b/packages/helper/.eslintrc.json deleted file mode 100644 index 9e0a4e368..000000000 --- a/packages/helper/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "root": true, - - "extends": ["@gw2treasures/eslint-config"] -} diff --git a/packages/helper/eslint.config.mjs b/packages/helper/eslint.config.mjs new file mode 100644 index 000000000..1a2e5c1c9 --- /dev/null +++ b/packages/helper/eslint.config.mjs @@ -0,0 +1,13 @@ +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import js from '@eslint/js'; +import { FlatCompat } from '@eslint/eslintrc'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); +export default [...compat.extends('@gw2treasures/eslint-config')]; diff --git a/packages/helper/package.json b/packages/helper/package.json index f16bad9ce..382976a1f 100644 --- a/packages/helper/package.json +++ b/packages/helper/package.json @@ -34,6 +34,8 @@ }, "homepage": "https://github.com/GW2Treasures/gw2treasures.com#readme", "devDependencies": { + "@eslint/eslintrc": "3.2.0", + "@eslint/js": "9.16.0", "@gw2treasures/eslint-config": "workspace:*", "@gw2treasures/tsconfig": "workspace:*", "eslint": "9.16.0", diff --git a/packages/publish-package/.eslintrc.json b/packages/publish-package/.eslintrc.json deleted file mode 100644 index dac93db59..000000000 --- a/packages/publish-package/.eslintrc.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "root": true, - - "extends": ["@gw2treasures/eslint-config"], - - "ignorePatterns": [ - "bin/" - ] -} diff --git a/packages/publish-package/eslint.config.mjs b/packages/publish-package/eslint.config.mjs new file mode 100644 index 000000000..ab1d91573 --- /dev/null +++ b/packages/publish-package/eslint.config.mjs @@ -0,0 +1,17 @@ +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import js from '@eslint/js'; +import { FlatCompat } from '@eslint/eslintrc'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +export default [ + { ignores: ['**/bin/'] }, + ...compat.extends('@gw2treasures/eslint-config') +]; diff --git a/packages/publish-package/package.json b/packages/publish-package/package.json index 3ce8e689b..ccecdc6c7 100644 --- a/packages/publish-package/package.json +++ b/packages/publish-package/package.json @@ -32,6 +32,8 @@ }, "homepage": "https://github.com/GW2Treasures/gw2treasures.com#readme", "devDependencies": { + "@eslint/eslintrc": "3.2.0", + "@eslint/js": "9.16.0", "@gw2treasures/eslint-config": "workspace:*", "@gw2treasures/tsconfig": "workspace:*", "@types/node": "22.10.1", diff --git a/packages/ui/.eslintrc.json b/packages/ui/.eslintrc.json deleted file mode 100644 index 1b24cb91d..000000000 --- a/packages/ui/.eslintrc.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "root": true, - - "extends": ["@gw2treasures/eslint-config/react", "next/core-web-vitals"], - - "rules": { - // this is not actually a next project, so there is no pages directory - "@next/next/no-html-link-for-pages": "off" - }, - - // eslint can't parse this file (Cannot use 'in' operator to search for 'type' in undefined) - "ignorePatterns": ["components/Table/comparable-properties.ts"] -} diff --git a/packages/ui/eslint.config.mjs b/packages/ui/eslint.config.mjs new file mode 100644 index 000000000..10b2bbc77 --- /dev/null +++ b/packages/ui/eslint.config.mjs @@ -0,0 +1,20 @@ +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import js from '@eslint/js'; +import { FlatCompat } from '@eslint/eslintrc'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +const eslintConfig = [ + { ignores: ['components/Table/comparable-properties.ts'] }, + ...compat.extends('next/core-web-vitals', '@gw2treasures/eslint-config/react'), + { rules: { '@next/next/no-html-link-for-pages': 'off' }} +]; + +export default eslintConfig; diff --git a/packages/ui/package.json b/packages/ui/package.json index 9a82806ec..b1cfa4325 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -34,6 +34,8 @@ "server-only": "0.0.1" }, "devDependencies": { + "@eslint/eslintrc": "3.2.0", + "@eslint/js": "9.16.0", "@gw2treasures/eslint-config": "workspace:*", "@types/react": "19.0.1", "@types/react-dom": "19.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 78f95a5d5..d6a9aee24 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,6 +39,12 @@ importers: specifier: 0.0.8 version: 0.0.8 devDependencies: + '@eslint/eslintrc': + specifier: 3.2.0 + version: 3.2.0 + '@eslint/js': + specifier: 9.16.0 + version: 9.16.0 '@gw2treasures/eslint-config': specifier: workspace:* version: link:../../packages/eslint-config @@ -184,6 +190,12 @@ importers: specifier: 0.33.5 version: 0.33.5 devDependencies: + '@eslint/eslintrc': + specifier: 3.2.0 + version: 3.2.0 + '@eslint/js': + specifier: 9.16.0 + version: 9.16.0 '@gw2api/types': specifier: 0.0.22 version: 0.0.22 @@ -253,6 +265,9 @@ importers: typescript: specifier: 5.7.2 version: 5.7.2 + typescript-eslint: + specifier: 8.17.0 + version: 8.17.0(eslint@9.16.0)(typescript@5.7.2) apps/worker: dependencies: @@ -284,6 +299,12 @@ importers: specifier: 0.33.5 version: 0.33.5 devDependencies: + '@eslint/eslintrc': + specifier: 3.2.0 + version: 3.2.0 + '@eslint/js': + specifier: 9.16.0 + version: 9.16.0 '@gw2api/types': specifier: 0.0.22 version: 0.0.22 @@ -344,22 +365,22 @@ importers: dependencies: '@stylistic/eslint-plugin': specifier: 2.11.0 - version: 2.11.0(eslint@8.57.1)(typescript@5.7.2) + version: 2.11.0(eslint@9.16.0)(typescript@5.7.2) '@typescript-eslint/eslint-plugin': specifier: 8.17.0 - version: 8.17.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + version: 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) '@typescript-eslint/parser': specifier: 8.17.0 - version: 8.17.0(eslint@8.57.1)(typescript@5.7.2) + version: 8.17.0(eslint@9.16.0)(typescript@5.7.2) eslint: - specifier: ^8.57.0 - version: 8.57.1 + specifier: ^9.16.0 + version: 9.16.0 eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1) + version: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0))(eslint@9.16.0) eslint-plugin-react: specifier: 7.37.2 - version: 7.37.2(eslint@8.57.1) + version: 7.37.2(eslint@9.16.0) packages/eslint-plugin-nextjs: dependencies: @@ -367,6 +388,12 @@ importers: specifier: 8.17.0 version: 8.17.0(eslint@9.16.0)(typescript@5.7.2) devDependencies: + '@eslint/eslintrc': + specifier: 3.2.0 + version: 3.2.0 + '@eslint/js': + specifier: 9.16.0 + version: 9.16.0 '@gw2treasures/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -385,6 +412,12 @@ importers: packages/helper: devDependencies: + '@eslint/eslintrc': + specifier: 3.2.0 + version: 3.2.0 + '@eslint/js': + specifier: 9.16.0 + version: 9.16.0 '@gw2treasures/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -431,6 +464,12 @@ importers: packages/publish-package: devDependencies: + '@eslint/eslintrc': + specifier: 3.2.0 + version: 3.2.0 + '@eslint/js': + specifier: 9.16.0 + version: 9.16.0 '@gw2treasures/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -482,6 +521,12 @@ importers: specifier: 0.0.1 version: 0.0.1 devDependencies: + '@eslint/eslintrc': + specifier: 3.2.0 + version: 3.2.0 + '@eslint/js': + specifier: 9.16.0 + version: 9.16.0 '@gw2treasures/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -867,10 +912,6 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.0': - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-community/regexpp@4.12.1': resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -883,18 +924,10 @@ packages: resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/eslintrc@3.2.0': resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@9.16.0': resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -953,19 +986,10 @@ packages: resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} engines: {node: '>=18.18.0'} - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - '@humanwhocodes/retry@0.3.1': resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} @@ -1625,9 +1649,6 @@ packages: resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vercel/ncc@0.38.3': resolution: {integrity: sha512-rnK6hJBS6mwc+Bkab+PGPs9OiS0i/3kdTO+CkI8V0/VrW3vmz7O2Pxjw/owOlmo6PKEIxRSeZKv/kuL9itnpYA==} hasBin: true @@ -2047,10 +2068,6 @@ packages: resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} engines: {node: '>=12.0.0'} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -2242,10 +2259,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-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} @@ -2453,10 +2466,6 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - 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.2.0: resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2469,12 +2478,6 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@8.57.1: - 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 - eslint@9.16.0: resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2489,10 +2492,6 @@ packages: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 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} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -2568,10 +2567,6 @@ packages: picomatch: optional: true - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -2591,10 +2586,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -2689,10 +2680,6 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -2917,10 +2904,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} @@ -3797,11 +3780,6 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - rimraf@6.0.1: resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} engines: {node: 20 || >=22} @@ -4191,10 +4169,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -4215,6 +4189,16 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} + typescript-eslint@8.17.0: + resolution: {integrity: sha512-409VXvFd/f1br1DCbuKNFqQpXICoTB+V51afcwG1pn1a3Cp92MqAUges3YjwEdQ0cMUoCIodjVDAYzyD8h3SYA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + typescript@5.7.2: resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} engines: {node: '>=14.17'} @@ -4721,18 +4705,11 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': - dependencies: - eslint: 8.57.1 - eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.4.0(eslint@9.16.0)': dependencies: eslint: 9.16.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.0': {} - '@eslint-community/regexpp@4.12.1': {} '@eslint/config-array@0.19.1': @@ -4747,20 +4724,6 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@2.1.4': - dependencies: - ajv: 6.12.6 - debug: 4.3.7 - 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/eslintrc@3.2.0': dependencies: ajv: 6.12.6 @@ -4775,8 +4738,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.1': {} - '@eslint/js@9.16.0': {} '@eslint/object-schema@2.1.5': {} @@ -4831,18 +4792,8 @@ snapshots: '@humanfs/core': 0.19.1 '@humanwhocodes/retry': 0.3.1 - '@humanwhocodes/config-array@0.13.0': - dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} - '@humanwhocodes/retry@0.3.1': {} '@humanwhocodes/retry@0.4.1': {} @@ -5265,10 +5216,10 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.0 - '@stylistic/eslint-plugin@2.11.0(eslint@8.57.1)(typescript@5.7.2)': + '@stylistic/eslint-plugin@2.11.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/utils': 8.17.0(eslint@8.57.1)(typescript@5.7.2) - eslint: 8.57.1 + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + eslint: 9.16.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 estraverse: 5.3.0 @@ -5462,27 +5413,9 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 8.17.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/type-utils': 8.17.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 - eslint: 8.57.1 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.7.2) - optionalDependencies: - typescript: 5.7.2 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': dependencies: - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/regexpp': 4.12.1 '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) '@typescript-eslint/scope-manager': 8.17.0 '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) @@ -5498,19 +5431,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2)': - dependencies: - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 - debug: 4.3.7 - eslint: 8.57.1 - optionalDependencies: - typescript: 5.7.2 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: '@typescript-eslint/scope-manager': 8.17.0 @@ -5529,18 +5449,6 @@ snapshots: '@typescript-eslint/types': 8.17.0 '@typescript-eslint/visitor-keys': 8.17.0 - '@typescript-eslint/type-utils@8.17.0(eslint@8.57.1)(typescript@5.7.2)': - dependencies: - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@8.57.1)(typescript@5.7.2) - debug: 4.3.7 - eslint: 8.57.1 - ts-api-utils: 1.3.0(typescript@5.7.2) - optionalDependencies: - typescript: 5.7.2 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) @@ -5570,18 +5478,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.17.0(eslint@8.57.1)(typescript@5.7.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - eslint: 8.57.1 - optionalDependencies: - typescript: 5.7.2 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0) @@ -5599,8 +5495,6 @@ snapshots: '@typescript-eslint/types': 8.17.0 eslint-visitor-keys: 4.2.0 - '@ungap/structured-clone@1.2.0': {} - '@vercel/ncc@0.38.3': {} '@visx/axis@3.12.0(react@19.0.0)': @@ -6131,12 +6025,6 @@ snapshots: dependencies: luxon: 3.4.4 - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -6330,10 +6218,6 @@ snapshots: dependencies: esutils: 2.0.3 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-accessibility-api@0.5.16: {} dom-accessibility-api@0.6.3: {} @@ -6541,7 +6425,7 @@ snapshots: eslint: 9.16.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0))(eslint@9.16.0) eslint-plugin-jsx-a11y: 6.10.0(eslint@9.16.0) eslint-plugin-react: 7.37.2(eslint@9.16.0) eslint-plugin-react-hooks: 5.0.0(eslint@9.16.0) @@ -6585,23 +6469,13 @@ snapshots: is-bun-module: 1.1.0 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0))(eslint@9.16.0) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 8.17.0(eslint@8.57.1)(typescript@5.7.2) - eslint: 8.57.1 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0))(eslint@9.16.0): dependencies: debug: 3.2.7 @@ -6613,36 +6487,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1): - dependencies: - '@rtsao/scc': 1.1.0 - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.57.1 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1) - hasown: 2.0.2 - is-core-module: 2.15.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.0 - semver: 6.3.1 - string.prototype.trimend: 1.0.8 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 8.17.0(eslint@8.57.1)(typescript@5.7.2) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0))(eslint@9.16.0))(eslint@9.16.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -6707,28 +6552,6 @@ snapshots: dependencies: eslint: 9.16.0 - eslint-plugin-react@7.37.2(eslint@8.57.1): - dependencies: - array-includes: 3.1.8 - array.prototype.findlast: 1.2.5 - array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.4 - doctrine: 2.1.0 - es-iterator-helpers: 1.1.0 - eslint: 8.57.1 - estraverse: 5.3.0 - hasown: 2.0.2 - jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 - object.entries: 1.1.8 - object.fromentries: 2.0.8 - object.values: 1.2.0 - prop-types: 15.8.1 - resolve: 2.0.0-next.5 - semver: 6.3.1 - string.prototype.matchall: 4.0.11 - string.prototype.repeat: 1.0.0 - eslint-plugin-react@7.37.2(eslint@9.16.0): dependencies: array-includes: 3.1.8 @@ -6751,11 +6574,6 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 - eslint-scope@7.2.2: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - eslint-scope@8.2.0: dependencies: esrecurse: 4.3.0 @@ -6765,49 +6583,6 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@8.57.1: - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.10.0 - '@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.3 - debug: 4.3.7 - 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 - eslint@9.16.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0) @@ -6853,12 +6628,6 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 4.2.0 - espree@9.6.1: - dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) - eslint-visitor-keys: 3.4.3 - esprima@4.0.1: {} esquery@1.5.0: @@ -6877,7 +6646,7 @@ snapshots: execa@5.1.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 6.0.1 human-signals: 2.1.0 is-stream: 2.0.1 @@ -6938,10 +6707,6 @@ snapshots: optionalDependencies: picomatch: 4.0.2 - file-entry-cache@6.0.1: - dependencies: - flat-cache: 3.2.0 - file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -6964,12 +6729,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: - dependencies: - flatted: 3.2.9 - keyv: 4.5.4 - rimraf: 3.0.2 - flat-cache@4.0.1: dependencies: flatted: 3.2.9 @@ -6983,7 +6742,7 @@ snapshots: foreground-child@3.1.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 signal-exit: 4.1.0 form-data@4.0.0: @@ -7074,10 +6833,6 @@ snapshots: globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - globals@14.0.0: {} globalthis@1.0.4: @@ -7297,8 +7052,6 @@ snapshots: is-number@7.0.0: {} - is-path-inside@3.0.3: {} - is-potential-custom-element-name@1.0.1: {} is-regex@1.1.4: @@ -8476,10 +8229,6 @@ snapshots: reusify@1.0.4: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - rimraf@6.0.1: dependencies: glob: 11.0.0 @@ -8925,8 +8674,6 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.20.2: {} - type-fest@0.21.3: {} typed-array-buffer@1.0.2: @@ -8961,6 +8708,17 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 + typescript-eslint@8.17.0(eslint@9.16.0)(typescript@5.7.2): + dependencies: + '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + eslint: 9.16.0 + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + typescript@5.7.2: {} unbox-primitive@1.0.2: From c20678213b7630242e3e36d86447a5615e73c258 Mon Sep 17 00:00:00 2001 From: darthmaim Date: Fri, 6 Dec 2024 23:48:23 +0100 Subject: [PATCH 3/3] Fix new lint errors surfaced by `eslint@9` --- apps/web/app/[language]/achievement/[id]/component.tsx | 1 - apps/web/app/[language]/homestead/decorations/page.tsx | 1 - apps/web/app/[language]/item/[id]/_edit-content/actions.ts | 1 - apps/web/app/[language]/login/page.tsx | 1 - apps/web/components/Gw2Api/Gw2ApiProvider.tsx | 1 - apps/web/components/Gw2Api/reauthorize.ts | 1 - apps/web/components/Layout/DetailLayout.tsx | 1 - apps/web/components/Skill/SkillTooltip.client.tsx | 1 - apps/worker/src/jobs/recipes/migrations.ts | 1 - apps/worker/src/jobs/skills/migrations.ts | 1 - apps/worker/src/jobs/skins/migrations.ts | 1 - packages/ui/components/Form/Switch.tsx | 4 ++-- packages/ui/components/Table/DataTable.tsx | 2 +- packages/ui/components/Table/Table.tsx | 4 ++-- packages/ui/components/Table/use-datatable.tsx | 2 +- packages/ui/types.d.ts | 1 - 16 files changed, 6 insertions(+), 18 deletions(-) diff --git a/apps/web/app/[language]/achievement/[id]/component.tsx b/apps/web/app/[language]/achievement/[id]/component.tsx index 2670f88f4..bcb6abf71 100644 --- a/apps/web/app/[language]/achievement/[id]/component.tsx +++ b/apps/web/app/[language]/achievement/[id]/component.tsx @@ -1,4 +1,3 @@ -/* eslint-disable react/no-array-index-key */ import type { Language } from '@gw2treasures/database'; import DetailLayout from '@/components/Layout/DetailLayout'; import { db } from '@/lib/prisma'; diff --git a/apps/web/app/[language]/homestead/decorations/page.tsx b/apps/web/app/[language]/homestead/decorations/page.tsx index 7b3342138..35e36e9d7 100644 --- a/apps/web/app/[language]/homestead/decorations/page.tsx +++ b/apps/web/app/[language]/homestead/decorations/page.tsx @@ -1,4 +1,3 @@ -/* eslint-disable @next/next/no-img-element */ import { Trans } from '@/components/I18n/Trans'; import { createDataTable } from '@gw2treasures/ui/components/Table/DataTable'; import { db } from '@/lib/prisma'; diff --git a/apps/web/app/[language]/item/[id]/_edit-content/actions.ts b/apps/web/app/[language]/item/[id]/_edit-content/actions.ts index 43bda4be3..220fe4394 100644 --- a/apps/web/app/[language]/item/[id]/_edit-content/actions.ts +++ b/apps/web/app/[language]/item/[id]/_edit-content/actions.ts @@ -6,7 +6,6 @@ import { db } from '@/lib/prisma'; import { ContentChance, Prisma, ReviewState } from '@gw2treasures/database'; import { revalidateTag } from 'next/cache'; -// eslint-disable-next-line require-await export async function submitToReview({ itemId, removedItems, addedItems, removedCurrencies, addedCurrencies }: { itemId: number } & EditContentOrder): Promise { if(removedItems.length === 0 && addedItems.length === 0 && removedCurrencies.length === 0 && addedCurrencies.length === 0) { console.log('No changes'); diff --git a/apps/web/app/[language]/login/page.tsx b/apps/web/app/[language]/login/page.tsx index a60557bea..cefc7158a 100644 --- a/apps/web/app/[language]/login/page.tsx +++ b/apps/web/app/[language]/login/page.tsx @@ -58,7 +58,6 @@ export async function generateMetadata({ params }: PageProps): Promise }; } -// eslint-disable-next-line require-await async function redirectToGw2Me(returnTo?: string, additionalScopes?: string) { 'use server'; diff --git a/apps/web/components/Gw2Api/Gw2ApiProvider.tsx b/apps/web/components/Gw2Api/Gw2ApiProvider.tsx index 1877c505a..2c4c4ed9d 100644 --- a/apps/web/components/Gw2Api/Gw2ApiProvider.tsx +++ b/apps/web/components/Gw2Api/Gw2ApiProvider.tsx @@ -30,7 +30,6 @@ export const Gw2ApiProvider: FC = ({ children }) => { const router = useRouter(); const [hiddenAccounts, setHiddenAccounts] = useLocalStorageState('accounts.hidden', []); - // eslint-disable-next-line require-await const getAccounts = useCallback(async (requiredScopes: Scope[], optionalScopes: Scope[] = [], { includeHidden = false }: GetAccountsOptions = {}) => { // always return [] during SSR if(typeof window === 'undefined') { diff --git a/apps/web/components/Gw2Api/reauthorize.ts b/apps/web/components/Gw2Api/reauthorize.ts index b264b7fd8..a81cc2fa8 100644 --- a/apps/web/components/Gw2Api/reauthorize.ts +++ b/apps/web/components/Gw2Api/reauthorize.ts @@ -6,7 +6,6 @@ import { Scope, type AuthorizationUrlParams } from '@gw2me/client'; import { redirect } from 'next/navigation'; import 'server-only'; -// eslint-disable-next-line require-await export async function reauthorize(requiredScopes: Scope[], prompt?: AuthorizationUrlParams['prompt']) { // build redirect url diff --git a/apps/web/components/Layout/DetailLayout.tsx b/apps/web/components/Layout/DetailLayout.tsx index 1cda19f90..a7ba72e6f 100644 --- a/apps/web/components/Layout/DetailLayout.tsx +++ b/apps/web/components/Layout/DetailLayout.tsx @@ -29,7 +29,6 @@ const DetailLayout: FC = async ({ title, icon, breadcrumb, ch
- {/* eslint-disable-next-line @next/next/no-img-element */} {icon && typeof icon === 'object' && (isValidElement(icon) ? cloneElement(icon, { className: styles.icon }) : )}

{title}

{breadcrumb &&
{breadcrumb}
} diff --git a/apps/web/components/Skill/SkillTooltip.client.tsx b/apps/web/components/Skill/SkillTooltip.client.tsx index 90896fa20..7907ded10 100644 --- a/apps/web/components/Skill/SkillTooltip.client.tsx +++ b/apps/web/components/Skill/SkillTooltip.client.tsx @@ -1,4 +1,3 @@ -/* eslint-disable @next/next/no-img-element */ import type { FC } from 'react'; import styles from './SkillTooltip.module.css'; import { Separator } from '@gw2treasures/ui/components/Layout/Separator'; diff --git a/apps/worker/src/jobs/recipes/migrations.ts b/apps/worker/src/jobs/recipes/migrations.ts index 60f824080..6a9cd2a6e 100644 --- a/apps/worker/src/jobs/recipes/migrations.ts +++ b/apps/worker/src/jobs/recipes/migrations.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-unused-vars import { Prisma } from '@gw2treasures/database'; import { toId } from '../helper/toId'; import { db } from '../../db'; diff --git a/apps/worker/src/jobs/skills/migrations.ts b/apps/worker/src/jobs/skills/migrations.ts index a59aefaf5..b8af451c8 100644 --- a/apps/worker/src/jobs/skills/migrations.ts +++ b/apps/worker/src/jobs/skills/migrations.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line @typescript-eslint/no-unused-vars import { Prisma } from '@gw2treasures/database'; import { LocalizedObject } from '../helper/types'; import { Skill } from '@gw2api/types/data/skill'; diff --git a/apps/worker/src/jobs/skins/migrations.ts b/apps/worker/src/jobs/skins/migrations.ts index 605103a43..e9504cb57 100644 --- a/apps/worker/src/jobs/skins/migrations.ts +++ b/apps/worker/src/jobs/skins/migrations.ts @@ -21,7 +21,6 @@ interface MigratedSkin { // eslint-disable-next-line require-await export async function createMigrator() { - // eslint-disable-next-line require-await return async function migrate({ de, en, es, fr }: LocalizedObject, currentVersion = -1) { const update: MigratedSkin = { version: CURRENT_VERSION diff --git a/packages/ui/components/Form/Switch.tsx b/packages/ui/components/Form/Switch.tsx index fbe8ebaf4..34b14e867 100644 --- a/packages/ui/components/Form/Switch.tsx +++ b/packages/ui/components/Form/Switch.tsx @@ -21,7 +21,7 @@ export type SwitchControlProps = { | { type: 'radio', href?: never, replace?: never, scroll?: never, name: string, value: string } ); -export const Switch: FC & { Control: FC } = ({ children }) => { +export const Switch: FC & { Control: FC } = ({ children }: SwitchProps) => { return ( {children} @@ -29,7 +29,7 @@ export const Switch: FC & { Control: FC } = ({ ); }; -Switch.Control = ({ children, active, type = 'button', href, clickAction, name, value, icon, tip, replace, scroll }) => { +Switch.Control = ({ children, active, type = 'button', href, clickAction, name, value, icon, tip, replace, scroll }: SwitchControlProps) => { const Element = type === 'link' ? Link : type === 'radio' ? 'label' : 'button'; const element = ( diff --git a/packages/ui/components/Table/DataTable.tsx b/packages/ui/components/Table/DataTable.tsx index c11ecf22d..3dc939fb8 100644 --- a/packages/ui/components/Table/DataTable.tsx +++ b/packages/ui/components/Table/DataTable.tsx @@ -1,5 +1,5 @@ import { Table, type HeaderCellProps } from './Table'; -import { Fragment, Suspense, type FC, type Key, type ReactElement, type ReactNode } from 'react'; +import { Suspense, type FC, type Key, type ReactElement, type ReactNode } from 'react'; import 'server-only'; import { DataTableClient, DataTableClientCell, DataTableClientColumn, DataTableClientColumnSelection, DataTableClientRows } from './DataTable.client'; import { isDefined, isTruthy } from '@gw2treasures/helper/is'; diff --git a/packages/ui/components/Table/Table.tsx b/packages/ui/components/Table/Table.tsx index 228062ef9..7dc7e62bc 100644 --- a/packages/ui/components/Table/Table.tsx +++ b/packages/ui/components/Table/Table.tsx @@ -18,7 +18,7 @@ export interface HeaderCellProps { onSort?: () => void; } -const Table: FC & { HeaderCell: FC } = ({ children, width = 'page' }) => ( +const Table: FC & { HeaderCell: FC } = ({ children, width = 'page' }: TableProps) => ( {children} @@ -26,7 +26,7 @@ const Table: FC & { HeaderCell: FC } = ({ children, ); -Table.HeaderCell = function HeaderCell({ children, small = false, align, colSpan, sort, onSort }) { +Table.HeaderCell = function HeaderCell({ children, small = false, align, colSpan, sort, onSort }: HeaderCellProps) { return (
{sort ? ( diff --git a/packages/ui/components/Table/use-datatable.tsx b/packages/ui/components/Table/use-datatable.tsx index 837584014..3d9f6b319 100644 --- a/packages/ui/components/Table/use-datatable.tsx +++ b/packages/ui/components/Table/use-datatable.tsx @@ -17,7 +17,7 @@ export interface DataTableProps { /** @deprecated Use DataTable instead */ export function useDataTable(columns: DataTableColumn[], rowKey: (row: T) => Key, groups?: (row: T) => { value: string, label: ReactNode }): FC> { return memo(useMemo(() => - function DataTable({ rows }) { + function DataTable({ rows }: DataTableProps) { const [sortBy, setSortBy] = useState<{ column: DataTableColumn, reverse: boolean }>(); const sortedRows = useMemo(() => (sortBy?.column?.sort !== undefined) diff --git a/packages/ui/types.d.ts b/packages/ui/types.d.ts index 3749eb597..30fa5865d 100644 --- a/packages/ui/types.d.ts +++ b/packages/ui/types.d.ts @@ -3,7 +3,6 @@ declare module '*.module.css' { export default classes; } -// eslint-disable-next-line @typescript-eslint/no-unused-vars import type * as CSS from 'csstype'; declare module 'csstype' {