From b1d2f2aa6da8ec97c5fe3c7bbfe6f06e373d05d5 Mon Sep 17 00:00:00 2001 From: Dominik G Date: Tue, 11 Jun 2024 13:54:27 +0200 Subject: [PATCH] chore: update to eslint v9, remove markdown lint due to complexity (#177) * chore: update to eslint v9, remove markdown lint due to complexity * fix: remove ignore comment --- .eslintrc | 52 --- docs/api.md | 2 +- eslint.config.js | 43 +++ package.json | 5 +- packages/tsconfck/src/parse-native.js | 2 +- packages/tsconfck/src/public.d.ts | 2 +- packages/tsconfck/tests/parse.js | 1 + packages/tsconfck/tests/util/copy-fixtures.js | 1 + packages/tsconfck/types/index.d.ts | 2 +- pnpm-lock.yaml | 304 +++++++++--------- 10 files changed, 208 insertions(+), 206 deletions(-) delete mode 100644 .eslintrc create mode 100644 eslint.config.js diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index d63aec1..0000000 --- a/.eslintrc +++ /dev/null @@ -1,52 +0,0 @@ -{ - "ignorePatterns": [ - "**/tests/fixtures/parse/invalid/**/*", - "**/tests/fixtures/find-all/recursive-symlink/**/*", - "**/tests/snapshots/**/*.js" - ], - "root": true, - "extends": ["eslint:recommended", "plugin:n/recommended", "prettier"], - "globals": { - "Atomics": "readonly", - "SharedArrayBuffer": "readonly" - }, - "parserOptions": { - "ecmaVersion": 2022 - }, - "plugins": ["n", "markdown"], - "rules": { - "no-debugger": ["error"] - }, - "overrides": [ - { - "files": ["**/*.md"], - "processor": "markdown/markdown", - "rules": { - "no-undef": "off", - "no-unused-vars": "off", - "no-console": "off", - "padded-blocks": "off", - "n/no-missing-import": "off", - "n/no-extraneous-require": "off", - "import/no-unresolved": "off" - } - }, - { - "files": ["**/*.md/*.**"], - "rules": { - "no-undef": "off", - "no-unused-vars": "off", - "no-console": "off", - "padded-blocks": "off", - "n/no-missing-import": "off", - "import/no-unresolved": "off" - } - }, - { - "files": ["**/tests/fixtures/**/*"], - "rules": { - "no-unused-vars": "off" - } - } - ] -} diff --git a/docs/api.md b/docs/api.md index e464d0e..0577f9a 100644 --- a/docs/api.md +++ b/docs/api.md @@ -259,7 +259,7 @@ interface TSConfckFindAllOptions { * helper to skip subdirectories when scanning for tsconfig.json * * eg ` dir => dir === 'node_modules' || dir === '.git'` - */ // eslint-disable-next-line no-unused-vars + */ skip?: (dir: string) => boolean; /** * list of config filenames to include, use ["tsconfig.json","jsconfig.json"] if you need both diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..48656fd --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,43 @@ +import js from '@eslint/js'; +import prettier from 'eslint-plugin-prettier'; +import prettierRecommended from 'eslint-plugin-prettier/recommended'; +import node from 'eslint-plugin-n'; + +export default [ + js.configs.recommended, + node.configs['flat/recommended-module'], + prettierRecommended, + { + ignores: [ + 'packages/tsconfck/tests/fixtures/parse/invalid/**/*', + 'packages/tsconfck/tests/fixtures/find-all/recursive-symlink/**/*', + 'packages/tsconfck/tests/snapshots/**/*' + ] + }, + { + plugins: { + node, + prettier + } + }, + { + languageOptions: { + globals: { + Atomics: 'readonly', + SharedArrayBuffer: 'readonly' + }, + parserOptions: { + ecmaVersion: 2022 + } + }, + rules: { + 'no-debugger': ['error'] + } + }, + { + files: ['**/tests/fixtures/**/*.js', '**/tests/fixtures/**/*.ts'], + rules: { + 'no-unused-vars': 'off' + } + } +]; diff --git a/package.json b/package.json index d2db4d6..0f3dbb5 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "check": "run-p -c check:*", "check:publint": "pnpm --filter \"./packages/*\" --parallel check:publint", "check:types": "pnpm --filter \"./packages/*\" --parallel check:types", - "check:lint": "eslint --cache --ignore-path .gitignore '**/*.{js,md}'", + "check:lint": "eslint --cache '**/*.{js,md}'", "check:format": "prettier --cache --ignore-path .gitignore --ignore-path .prettierignore --ignore-unknown --check .", "lint": "pnpm check:lint --fix", "format": "pnpm check:format --write", @@ -21,10 +21,11 @@ }, "devDependencies": { "@changesets/cli": "^2.27.5", + "@eslint/js": "^9.4.0", "@svitejs/changesets-changelog-github-compact": "^1.1.0", "dts-buddy": "^0.4.7", "esbuild": "^0.21.5", - "eslint": "^8.57.0", + "eslint": "^9.4.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-markdown": "^5.0.0", "eslint-plugin-n": "^17.8.1", diff --git a/packages/tsconfck/src/parse-native.js b/packages/tsconfck/src/parse-native.js index 5146527..2a0c419 100644 --- a/packages/tsconfck/src/parse-native.js +++ b/packages/tsconfck/src/parse-native.js @@ -56,7 +56,7 @@ export async function parseNative(filename, options) { await parseReferences(result, ts, options); cache?.setParseResult(tsconfigFile, Promise.resolve(result)); } - //@ts-ignore + resolve(resolveSolutionTSConfig(filename, result)); return promise; } catch (e) { diff --git a/packages/tsconfck/src/public.d.ts b/packages/tsconfck/src/public.d.ts index 8d825ff..a0be253 100644 --- a/packages/tsconfck/src/public.d.ts +++ b/packages/tsconfck/src/public.d.ts @@ -43,7 +43,7 @@ export interface TSConfckFindAllOptions { * helper to skip subdirectories when scanning for tsconfig.json * * eg ` dir => dir === 'node_modules' || dir === '.git'` - */ // eslint-disable-next-line no-unused-vars + */ skip?: (dir: string) => boolean; /** * list of config filenames to include, use ["tsconfig.json","jsconfig.json"] if you need both diff --git a/packages/tsconfck/tests/parse.js b/packages/tsconfck/tests/parse.js index a4c09a8..fc7d192 100644 --- a/packages/tsconfck/tests/parse.js +++ b/packages/tsconfck/tests/parse.js @@ -226,6 +226,7 @@ describe('parse', () => { new Promise((_, reject) => setTimeout(reject, 500)) ]); expect(results.length).toBe(samples.length); + // eslint-disable-next-line no-unused-vars } catch (e) { expect.fail( `did not process all files, some of these are blocking each other:\n${[...unfinished].join( diff --git a/packages/tsconfck/tests/util/copy-fixtures.js b/packages/tsconfck/tests/util/copy-fixtures.js index 57f706d..f05bd5b 100644 --- a/packages/tsconfck/tests/util/copy-fixtures.js +++ b/packages/tsconfck/tests/util/copy-fixtures.js @@ -13,6 +13,7 @@ export async function copyFixtures(from, to, filter) { const dest = path.join('tests', 'temp', to); try { await fs.rm(dest, { recursive: true }); + // eslint-disable-next-line no-unused-vars } catch (e) { // ignore } diff --git a/packages/tsconfck/types/index.d.ts b/packages/tsconfck/types/index.d.ts index c40b1f1..35bfe0c 100644 --- a/packages/tsconfck/types/index.d.ts +++ b/packages/tsconfck/types/index.d.ts @@ -169,7 +169,7 @@ declare module 'tsconfck' { * helper to skip subdirectories when scanning for tsconfig.json * * eg ` dir => dir === 'node_modules' || dir === '.git'` - */ // eslint-disable-next-line no-unused-vars + */ skip?: (dir: string) => boolean; /** * list of config filenames to include, use ["tsconfig.json","jsconfig.json"] if you need both diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5503e15..763faa2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,30 +11,33 @@ importers: '@changesets/cli': specifier: ^2.27.5 version: 2.27.5 + '@eslint/js': + specifier: ^9.4.0 + version: 9.4.0 '@svitejs/changesets-changelog-github-compact': specifier: ^1.1.0 version: 1.1.0 dts-buddy: specifier: ^0.4.7 - version: 0.4.7 + version: 0.4.7(typescript@5.4.5) esbuild: specifier: ^0.21.5 version: 0.21.5 eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.4.0 + version: 9.4.0 eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) + version: 9.1.0(eslint@9.4.0) eslint-plugin-markdown: specifier: ^5.0.0 - version: 5.0.0(eslint@8.57.0) + version: 5.0.0(eslint@9.4.0) eslint-plugin-n: specifier: ^17.8.1 - version: 17.8.1(eslint@8.57.0) + version: 17.8.1(eslint@9.4.0) eslint-plugin-prettier: specifier: ^5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.1) + version: 5.1.3(eslint-config-prettier@9.1.0(eslint@9.4.0))(eslint@9.4.0)(prettier@3.3.1) get-tsconfig: specifier: ^4.7.5 version: 4.7.5 @@ -64,7 +67,7 @@ importers: version: link:packages/tsconfck tsconfck-2: specifier: npm:tsconfck@^2.1.2 - version: tsconfck@2.1.2 + version: tsconfck@2.1.2(typescript@5.4.5) vitest: specifier: ^1.6.0 version: 1.6.0 @@ -92,10 +95,6 @@ importers: packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - '@ampproject/remapping@2.2.1': resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} @@ -476,24 +475,33 @@ packages: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint-community/regexpp@4.10.1': + resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.15.1': + resolution: {integrity: sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.4.0': + resolution: {integrity: sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.3': + resolution: {integrity: sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.2': - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} @@ -645,9 +653,6 @@ packages: '@types/unist@2.0.10': resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vitest/coverage-v8@1.6.0': resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} peerDependencies: @@ -897,6 +902,15 @@ packages: supports-color: optional: true + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} @@ -935,10 +949,6 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dotenv@16.4.1: resolution: {integrity: sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==} engines: {node: '>=12'} @@ -1047,22 +1057,26 @@ packages: eslint-config-prettier: optional: true - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.4.0: + resolution: {integrity: sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -1121,9 +1135,9 @@ packages: fastq@1.17.0: resolution: {integrity: sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==} - 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'} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -1140,12 +1154,12 @@ packages: find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - 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'} - flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -1216,9 +1230,9 @@ packages: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} - 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'} globals@15.3.0: resolution: {integrity: sha512-cCdyVjIUVTtX8ZsPkq1oCsOsLmGIswqnjZYMJJTGaNApj1yHtLSymKhwH51ttirREn75z3p4k051clwg7rvNKA==} @@ -1247,9 +1261,6 @@ packages: grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} @@ -1314,6 +1325,10 @@ packages: resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -1735,8 +1750,8 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} os-tmpdir@1.0.2: @@ -1960,10 +1975,6 @@ packages: rfdc@1.3.1: resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - rollup@4.9.6: resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -2236,10 +2247,6 @@ packages: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} @@ -2386,6 +2393,10 @@ packages: engines: {node: '>=8'} hasBin: true + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -2445,8 +2456,6 @@ packages: snapshots: - '@aashutoshrathi/word-wrap@1.2.6': {} - '@ampproject/remapping@2.2.1': dependencies: '@jridgewell/gen-mapping': 0.3.3 @@ -2785,20 +2794,30 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.4.0)': dependencies: - eslint: 8.57.0 + eslint: 9.4.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.0': {} - '@eslint/eslintrc@2.1.4': + '@eslint-community/regexpp@4.10.1': {} + + '@eslint/config-array@0.15.1': + dependencies: + '@eslint/object-schema': 2.1.3 + debug: 4.3.5 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.0 + debug: 4.3.5 + espree: 10.0.1 + globals: 14.0.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -2806,19 +2825,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@9.4.0': {} - '@humanwhocodes/config-array@0.11.14': - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@eslint/object-schema@2.1.3': {} '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.2': {} + '@humanwhocodes/retry@0.3.0': {} '@istanbuljs/schema@0.1.3': {} @@ -2949,8 +2962,6 @@ snapshots: '@types/unist@2.0.10': {} - '@ungap/structured-clone@1.2.0': {} - '@vitest/coverage-v8@1.6.0(vitest@1.6.0)': dependencies: '@ampproject/remapping': 2.2.1 @@ -3222,6 +3233,10 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.3.5: + dependencies: + ms: 2.1.2 + decamelize-keys@1.1.1: dependencies: decamelize: 1.2.0 @@ -3259,13 +3274,9 @@ snapshots: dependencies: path-type: 4.0.0 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dotenv@16.4.1: {} - dts-buddy@0.4.7: + dts-buddy@0.4.7(typescript@5.4.5): dependencies: '@jridgewell/source-map': 0.3.5 '@jridgewell/sourcemap-codec': 1.4.15 @@ -3275,7 +3286,8 @@ snapshots: magic-string: 0.30.5 sade: 1.8.1 tiny-glob: 0.2.9 - ts-api-utils: 1.0.3 + ts-api-utils: 1.0.3(typescript@5.4.5) + typescript: 5.4.5 emoji-regex@10.3.0: {} @@ -3411,103 +3423,102 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-compat-utils@0.1.2(eslint@8.57.0): + eslint-compat-utils@0.1.2(eslint@9.4.0): dependencies: - eslint: 8.57.0 + eslint: 9.4.0 - eslint-config-prettier@9.1.0(eslint@8.57.0): + eslint-config-prettier@9.1.0(eslint@9.4.0): dependencies: - eslint: 8.57.0 + eslint: 9.4.0 - eslint-plugin-es-x@7.5.0(eslint@8.57.0): + eslint-plugin-es-x@7.5.0(eslint@9.4.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) '@eslint-community/regexpp': 4.10.0 - eslint: 8.57.0 - eslint-compat-utils: 0.1.2(eslint@8.57.0) + eslint: 9.4.0 + eslint-compat-utils: 0.1.2(eslint@9.4.0) - eslint-plugin-markdown@5.0.0(eslint@8.57.0): + eslint-plugin-markdown@5.0.0(eslint@9.4.0): dependencies: - eslint: 8.57.0 + eslint: 9.4.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - eslint-plugin-n@17.8.1(eslint@8.57.0): + eslint-plugin-n@17.8.1(eslint@9.4.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) enhanced-resolve: 5.17.0 - eslint: 8.57.0 - eslint-plugin-es-x: 7.5.0(eslint@8.57.0) + eslint: 9.4.0 + eslint-plugin-es-x: 7.5.0(eslint@9.4.0) get-tsconfig: 4.7.5 globals: 15.3.0 ignore: 5.3.0 minimatch: 9.0.3 semver: 7.5.4 - eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.3.1): + eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@9.4.0))(eslint@9.4.0)(prettier@3.3.1): dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint: 9.4.0 prettier: 3.3.1 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@9.4.0) - eslint-scope@7.2.2: + eslint-scope@8.0.1: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint-visitor-keys@4.0.0: {} + + eslint@9.4.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0) + '@eslint-community/regexpp': 4.10.1 + '@eslint/config-array': 0.15.1 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.4.0 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 + debug: 4.3.5 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.1 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.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 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color - espree@9.6.1: + espree@10.0.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 4.0.0 esprima@4.0.1: {} @@ -3569,9 +3580,9 @@ snapshots: dependencies: reusify: 1.0.4 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 fill-range@7.1.1: dependencies: @@ -3592,13 +3603,12 @@ snapshots: micromatch: 4.0.6 pkg-dir: 4.2.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 - flatted@3.2.9: {} + flatted@3.3.1: {} for-each@0.3.3: dependencies: @@ -3681,9 +3691,7 @@ snapshots: minimatch: 5.1.6 once: 1.4.0 - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} globals@15.3.0: {} @@ -3712,8 +3720,6 @@ snapshots: grapheme-splitter@1.0.4: {} - graphemer@1.4.0: {} - hard-rejection@2.1.0: {} has-bigints@1.0.2: {} @@ -3758,6 +3764,8 @@ snapshots: ignore@5.3.0: {} + ignore@5.3.1: {} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -4190,14 +4198,14 @@ snapshots: dependencies: mimic-fn: 4.0.0 - optionator@0.9.3: + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 os-tmpdir@1.0.2: {} @@ -4397,10 +4405,6 @@ snapshots: rfdc@1.3.1: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - rollup@4.9.6: dependencies: '@types/estree': 1.0.5 @@ -4649,9 +4653,13 @@ snapshots: trim-newlines@3.0.1: {} - ts-api-utils@1.0.3: {} + ts-api-utils@1.0.3(typescript@5.4.5): + dependencies: + typescript: 5.4.5 - tsconfck@2.1.2: {} + tsconfck@2.1.2(typescript@5.4.5): + optionalDependencies: + typescript: 5.4.5 tslib@2.6.2: {} @@ -4673,8 +4681,6 @@ snapshots: type-fest@0.13.1: {} - type-fest@0.20.2: {} - type-fest@0.6.0: {} type-fest@0.8.1: {} @@ -4837,6 +4843,8 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 + word-wrap@1.2.5: {} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0