diff --git a/package.json b/package.json index 51811c3dc..590353bed 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "chalk": "^4.1.0", "codecov-lite": "2.0.0", "del-cli": "^5.0.0", + "eslint": "^8.57.1", "eslint-config-rollup": "^3.0.1", "esm": "^3.2.25", "execa": "^5.1.1", diff --git a/packages/eslint/package.json b/packages/eslint/package.json index aa9cf9753..f77c7117c 100755 --- a/packages/eslint/package.json +++ b/packages/eslint/package.json @@ -54,6 +54,7 @@ "lint" ], "peerDependencies": { + "eslint": "^8.57.1||^9.0.0", "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { @@ -62,18 +63,21 @@ } }, "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "eslint": "^8.57.1" + "@rollup/pluginutils": "^5.0.1" }, "devDependencies": { "@rollup/plugin-node-resolve": "^15.0.0", "@rollup/plugin-typescript": "^9.0.1", "@types/eslint": "^8.56.12", + "eslint": "^8.57.1", + "eslint9": "npm:eslint@^9.37.0", + "esmock": "^2.7.3", "rollup": "^4.0.0-24", "typescript": "^4.8.3" }, "types": "./types/index.d.ts", "ava": { + "workerThreads": false, "files": [ "!**/fixtures/**", "!**/helpers/**", diff --git a/packages/eslint/test/fixtures/flat-config/eslint.config.js b/packages/eslint/test/fixtures/flat-config/eslint.config.mjs similarity index 100% rename from packages/eslint/test/fixtures/flat-config/eslint.config.js rename to packages/eslint/test/fixtures/flat-config/eslint.config.mjs diff --git a/packages/eslint/test/test.mjs b/packages/eslint/test/test.mjs index 99ff377de..322a69aa9 100755 --- a/packages/eslint/test/test.mjs +++ b/packages/eslint/test/test.mjs @@ -1,7 +1,11 @@ import fs from 'fs'; - import { createRequire } from 'module'; +import process from 'process'; +import path from 'path'; +import { fileURLToPath } from 'url'; +import eslint9 from 'eslint9'; +import esmock from 'esmock'; import test from 'ava'; import nodeResolve from '@rollup/plugin-node-resolve'; import { rollup } from 'rollup'; @@ -241,3 +245,36 @@ test('works with flat config', async (t) => { t.is(count, 1); }); + +test.serial('works with ESLint v9', async (t) => { + // Load the plugin with an override to route 'eslint' imports to ESLint v9 + const eslint = await esmock('current-package', { + eslint: eslint9 + }); + + // ESLint v9 needs to be invoked with a flat config file in the current dir + const cwd = process.cwd(); + const testDir = path.dirname(fileURLToPath(import.meta.url)); + process.chdir(path.join(testDir, 'fixtures', 'flat-config')); + + let count = 0; + try { + await rollup({ + input: './undeclared.js', + plugins: [ + eslint({ + formatter: (results) => { + count += results[0].messages.length; + // eslint-disable-next-line prefer-destructuring + const { message } = results[0].messages[0]; + t.is(message, "'x' is not defined."); + } + }) + ] + }); + } finally { + process.chdir(cwd); + } + + t.is(count, 1); +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0692e1247..745a5a6ec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,10 +22,10 @@ importers: version: 0.5.6 '@typescript-eslint/eslint-plugin': specifier: ^5.38.0 - version: 5.39.0(@typescript-eslint/parser@5.39.0(eslint@8.28.0)(typescript@4.8.4))(eslint@8.28.0)(typescript@4.8.4) + version: 5.39.0(@typescript-eslint/parser@5.39.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1)(typescript@4.8.4) '@typescript-eslint/parser': specifier: ^5.38.0 - version: 5.39.0(eslint@8.28.0)(typescript@4.8.4) + version: 5.39.0(eslint@8.57.1)(typescript@4.8.4) ava: specifier: ^4.3.3 version: 4.3.3 @@ -38,6 +38,9 @@ importers: del-cli: specifier: ^5.0.0 version: 5.0.0 + eslint: + specifier: ^8.57.1 + version: 8.57.1 eslint-config-rollup: specifier: ^3.0.1 version: 3.0.1(typescript@4.8.4) @@ -317,9 +320,6 @@ importers: '@rollup/pluginutils': specifier: ^5.0.1 version: 5.1.0(rollup@4.0.0-24) - eslint: - specifier: ^8.57.1 - version: 8.57.1 devDependencies: '@rollup/plugin-node-resolve': specifier: ^15.0.0 @@ -330,6 +330,15 @@ importers: '@types/eslint': specifier: ^8.56.12 version: 8.56.12 + eslint: + specifier: ^8.57.1 + version: 8.57.1 + eslint9: + specifier: npm:eslint@^9.37.0 + version: eslint@9.37.0 + esmock: + specifier: ^2.7.3 + version: 2.7.3 rollup: specifier: ^4.0.0-24 version: 4.0.0-24 @@ -1414,6 +1423,18 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint/config-array@0.21.0': + resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.4.0': + resolution: {integrity: sha512-WUFvV4WoIwW8Bv0KeKCIIEgdSiFOsulyN0xrMu+7z43q/hkOLXjvb5u7UC9jDxvRzcrbEmuZBX5yJZz1741jog==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.16.0': + resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@1.3.3': resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1422,10 +1443,34 @@ packages: resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + 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.37.0': + resolution: {integrity: sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.0': + resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} + '@humanwhocodes/config-array@0.11.7': resolution: {integrity: sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==} engines: {node: '>=10.10.0'} @@ -1448,6 +1493,10 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + '@istanbuljs/load-nyc-config@1.1.0': resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -1797,11 +1846,14 @@ packages: '@types/estree@1.0.0': resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/http-cache-semantics@4.0.1': resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} - '@types/json-schema@7.0.11': - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} @@ -1996,6 +2048,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + acorn@8.8.0: resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} engines: {node: '>=0.4.0'} @@ -2319,7 +2376,7 @@ packages: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} concat-map@0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} concat-with-sourcemaps@1.1.0: resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} @@ -2357,6 +2414,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + css-declaration-sorter@6.3.1: resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} engines: {node: ^10 || ^12 || >=14} @@ -2671,6 +2732,10 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.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-utils@3.0.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} @@ -2689,6 +2754,10 @@ packages: 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@8.28.0: resolution: {integrity: sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2701,10 +2770,28 @@ packages: deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true + eslint@9.37.0: + resolution: {integrity: sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + esm@3.2.25: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} engines: {node: '>=6'} + esmock@2.7.3: + resolution: {integrity: sha512-/M/YZOjgyLaVoY6K83pwCsGE1AJQnj4S4GyXLYgi/Y79KL8EeW6WU7Rmjc89UO7jv6ec8+j34rKeWOfiLeEu0A==} + engines: {node: '>=14.16.0'} + + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.4.0: resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2793,6 +2880,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'} + fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -2817,9 +2908,16 @@ packages: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + foreground-child@2.0.0: resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} engines: {node: '>=8.0.0'} @@ -2911,6 +3009,10 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -3299,6 +3401,9 @@ packages: keyv@4.5.0: resolution: {integrity: sha512-2YvuMsA+jnFGtBareKqgANOEKe1mk3HKiXu2fRmAfyxG0MJAywNhi5ttWA3PMjl4NmpyjZNbFifR2vNjW1znfA==} + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -5534,6 +5639,22 @@ snapshots: '@eslint-community/regexpp@4.12.1': {} + '@eslint/config-array@0.21.0': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.4.0': + dependencies: + '@eslint/core': 0.16.0 + + '@eslint/core@0.16.0': + dependencies: + '@types/json-schema': 7.0.15 + '@eslint/eslintrc@1.3.3': dependencies: ajv: 6.12.6 @@ -5562,8 +5683,38 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/eslintrc@3.3.1': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.2.0 + 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.37.0': {} + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.4.0': + dependencies: + '@eslint/core': 0.16.0 + levn: 0.4.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 + '@humanwhocodes/config-array@0.11.7': dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -5586,6 +5737,8 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.4.3': {} + '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 @@ -5879,14 +6032,16 @@ snapshots: '@types/eslint@8.56.12': dependencies: - '@types/estree': 1.0.0 - '@types/json-schema': 7.0.11 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 '@types/estree@1.0.0': {} + '@types/estree@1.0.8': {} + '@types/http-cache-semantics@4.0.1': {} - '@types/json-schema@7.0.11': {} + '@types/json-schema@7.0.15': {} '@types/json5@0.0.29': {} @@ -5920,14 +6075,14 @@ snapshots: dependencies: source-map: 0.6.1 - '@typescript-eslint/eslint-plugin@5.39.0(@typescript-eslint/parser@5.39.0(eslint@8.28.0)(typescript@4.8.4))(eslint@8.28.0)(typescript@4.8.4)': + '@typescript-eslint/eslint-plugin@5.39.0(@typescript-eslint/parser@5.39.0(eslint@8.57.1)(typescript@4.8.4))(eslint@8.57.1)(typescript@4.8.4)': dependencies: - '@typescript-eslint/parser': 5.39.0(eslint@8.28.0)(typescript@4.8.4) + '@typescript-eslint/parser': 5.39.0(eslint@8.57.1)(typescript@4.8.4) '@typescript-eslint/scope-manager': 5.39.0 - '@typescript-eslint/type-utils': 5.39.0(eslint@8.28.0)(typescript@4.8.4) - '@typescript-eslint/utils': 5.39.0(eslint@8.28.0)(typescript@4.8.4) + '@typescript-eslint/type-utils': 5.39.0(eslint@8.57.1)(typescript@4.8.4) + '@typescript-eslint/utils': 5.39.0(eslint@8.57.1)(typescript@4.8.4) debug: 4.3.4 - eslint: 8.28.0 + eslint: 8.57.1 ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.8 @@ -5963,13 +6118,13 @@ snapshots: - supports-color - typescript - '@typescript-eslint/parser@5.39.0(eslint@8.28.0)(typescript@4.8.4)': + '@typescript-eslint/parser@5.39.0(eslint@8.57.1)(typescript@4.8.4)': dependencies: '@typescript-eslint/scope-manager': 5.39.0 '@typescript-eslint/types': 5.39.0 '@typescript-eslint/typescript-estree': 5.39.0(typescript@4.8.4) debug: 4.3.4 - eslint: 8.28.0 + eslint: 8.57.1 optionalDependencies: typescript: 4.8.4 transitivePeerDependencies: @@ -5997,12 +6152,12 @@ snapshots: '@typescript-eslint/types': 5.44.0 '@typescript-eslint/visitor-keys': 5.44.0 - '@typescript-eslint/type-utils@5.39.0(eslint@8.28.0)(typescript@4.8.4)': + '@typescript-eslint/type-utils@5.39.0(eslint@8.57.1)(typescript@4.8.4)': dependencies: '@typescript-eslint/typescript-estree': 5.39.0(typescript@4.8.4) - '@typescript-eslint/utils': 5.39.0(eslint@8.28.0)(typescript@4.8.4) + '@typescript-eslint/utils': 5.39.0(eslint@8.57.1)(typescript@4.8.4) debug: 4.3.4 - eslint: 8.28.0 + eslint: 8.57.1 tsutils: 3.21.0(typescript@4.8.4) optionalDependencies: typescript: 4.8.4 @@ -6055,7 +6210,7 @@ snapshots: '@typescript-eslint/utils@5.39.0(eslint@8.28.0)(typescript@4.8.4)': dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 '@typescript-eslint/scope-manager': 5.39.0 '@typescript-eslint/types': 5.39.0 '@typescript-eslint/typescript-estree': 5.39.0(typescript@4.8.4) @@ -6066,9 +6221,22 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@5.39.0(eslint@8.57.1)(typescript@4.8.4)': + dependencies: + '@types/json-schema': 7.0.15 + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/typescript-estree': 5.39.0(typescript@4.8.4) + eslint: 8.57.1 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0(eslint@8.57.1) + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/utils@5.44.0(eslint@8.28.0)(typescript@4.8.4)': dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.15 '@types/semver': 7.3.12 '@typescript-eslint/scope-manager': 5.44.0 '@typescript-eslint/types': 5.44.0 @@ -6110,12 +6278,18 @@ snapshots: dependencies: acorn: 8.14.0 + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn-walk@8.2.0: {} acorn@6.4.2: {} acorn@8.14.0: {} + acorn@8.15.0: {} + acorn@8.8.0: {} aggregate-error@3.1.0: @@ -6541,6 +6715,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-declaration-sorter@6.3.1(postcss@8.4.17): dependencies: postcss: 8.4.17 @@ -6913,17 +7093,29 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + eslint-utils@3.0.0(eslint@8.28.0): dependencies: eslint: 8.28.0 eslint-visitor-keys: 2.1.0 + eslint-utils@3.0.0(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + eslint-visitor-keys: 2.1.0 + eslint-visitor-keys@2.1.0: {} eslint-visitor-keys@3.3.0: {} eslint-visitor-keys@3.4.3: {} + eslint-visitor-keys@4.2.1: {} + eslint@8.28.0: dependencies: '@eslint/eslintrc': 1.3.3 @@ -7011,8 +7203,56 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@9.37.0: + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.21.0 + '@eslint/config-helpers': 0.4.0 + '@eslint/core': 0.16.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.37.0 + '@eslint/plugin-kit': 0.4.0 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.3.4 + 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 + 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.2.0 + 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.4 + transitivePeerDependencies: + - supports-color + esm@3.2.25: {} + esmock@2.7.3: {} + + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + espree@9.4.0: dependencies: acorn: 8.14.0 @@ -7100,6 +7340,10 @@ snapshots: dependencies: flat-cache: 3.0.4 + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 @@ -7130,8 +7374,15 @@ snapshots: flatted: 3.2.7 rimraf: 3.0.2 + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + flatted@3.2.7: {} + flatted@3.3.3: {} + foreground-child@2.0.0: dependencies: cross-spawn: 7.0.3 @@ -7228,6 +7479,8 @@ snapshots: dependencies: type-fest: 0.20.2 + globals@14.0.0: {} + globby@11.1.0: dependencies: array-union: 2.1.0 @@ -7564,6 +7817,10 @@ snapshots: dependencies: json-buffer: 3.0.1 + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + kind-of@6.0.3: {} levn@0.4.1: