diff --git a/.eslintrc.cjs b/.eslintrc.cjs index c324c476..c75ff444 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,7 +1,10 @@ // @ts-check -const { defineConfig } = require('.'); +const { defineConfig } = require('eslint-define-config'); const { readGitignoreFiles } = require('eslint-gitignore'); +/// +/// + module.exports = defineConfig({ ignorePatterns: [ ...readGitignoreFiles(), diff --git a/package.json b/package.json index ebd5ff14..d4fd3491 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,8 @@ "tsconfig.json" ], "devDependencies": { + "@eslint-types/prettier": "~5.0.1", + "@eslint-types/typescript-eslint": "~6.9.0", "@types/eslint": "~8.44.3", "@types/json-schema": "~7.0.13", "@types/node": "~20.8.3", @@ -72,6 +74,7 @@ "change-case": "~4.1.2", "eslint": "~8.51.0", "eslint-config-prettier": "~9.0.0", + "eslint-define-config": "link:./", "eslint-gitignore": "~0.1.0", "eslint-plugin-prettier": "~5.0.0", "expect-type": "~0.17.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ec39b74d..e9a936dd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,12 @@ settings: excludeLinksFromLockfile: false devDependencies: + '@eslint-types/prettier': + specifier: ~5.0.1 + version: 5.0.1 + '@eslint-types/typescript-eslint': + specifier: ~6.9.0 + version: 6.9.0 '@types/eslint': specifier: ~8.44.3 version: 8.44.6 @@ -13,7 +19,7 @@ devDependencies: version: 7.0.14 '@types/node': specifier: ~20.8.3 - version: 20.8.7 + version: 20.8.9 '@typescript-eslint/eslint-plugin': specifier: ~6.7.4 version: 6.7.5(@typescript-eslint/parser@6.7.5)(eslint@8.51.0)(typescript@5.2.2) @@ -32,6 +38,9 @@ devDependencies: eslint-config-prettier: specifier: ~9.0.0 version: 9.0.0(eslint@8.51.0) + eslint-define-config: + specifier: link:./ + version: 'link:' eslint-gitignore: specifier: ~0.1.0 version: 0.1.0(eslint@8.51.0) @@ -331,11 +340,19 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.9.1: - resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true + /@eslint-types/prettier@5.0.1: + resolution: {integrity: sha512-/PIVMKj/C94J8PxAh2DR677DrUWCHSNOFA+4fBuVx6E4xr4hRnGDnciXCac7u9DiPQLXAkNTB82z5rjJIcRqJw==} + dev: true + + /@eslint-types/typescript-eslint@6.9.0: + resolution: {integrity: sha512-cqn23PhKgD3h8Oh/x2DoRdMT9QH19PIihL3UjH8qE+70ddxb2CWz8dnJL0p/+nba7FI+8r69AusoYIEBzvBMRQ==} + dev: true + /@eslint/eslintrc@2.1.2: resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -505,7 +522,7 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.8.7 + '@types/node': 20.8.9 dev: true /@types/istanbul-lib-coverage@2.0.5: @@ -524,10 +541,10 @@ packages: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} dev: true - /@types/node@20.8.7: - resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==} + /@types/node@20.8.9: + resolution: {integrity: sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==} dependencies: - undici-types: 5.25.3 + undici-types: 5.26.5 dev: true /@types/normalize-package-data@2.4.3: @@ -553,7 +570,7 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 6.7.5(eslint@8.51.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 6.7.5 '@typescript-eslint/type-utils': 6.7.5(eslint@8.51.0)(typescript@5.2.2) @@ -1405,7 +1422,7 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.2 '@eslint/js': 8.51.0 '@humanwhocodes/config-array': 0.11.13 @@ -2712,7 +2729,7 @@ packages: '@types/normalize-package-data': 2.4.3 normalize-package-data: 6.0.0 parse-json: 7.1.0 - type-fest: 4.5.0 + type-fest: 4.6.0 dev: true /readdirp@3.6.0: @@ -3212,8 +3229,8 @@ packages: engines: {node: '>=14.16'} dev: true - /type-fest@4.5.0: - resolution: {integrity: sha512-diLQivFzddJl4ylL3jxSkEc39Tpw7o1QeEHIPxVwryDK2lpB7Nqhzhuo6v5/Ls08Z0yPSAhsyAWlv1/H0ciNmw==} + /type-fest@4.6.0: + resolution: {integrity: sha512-rLjWJzQFOq4xw7MgJrCZ6T1jIOvvYElXT12r+y0CC6u67hegDHaxcPqb2fZHOGlqxugGQPNB1EnTezjBetkwkw==} engines: {node: '>=16'} dev: true @@ -3282,8 +3299,8 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /undici-types@5.25.3: - resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true /untildify@4.0.0: @@ -3325,7 +3342,7 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-node@0.34.6(@types/node@20.8.7): + /vite-node@0.34.6(@types/node@20.8.9): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -3335,7 +3352,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@20.8.7) + vite: 4.5.0(@types/node@20.8.9) transitivePeerDependencies: - '@types/node' - less @@ -3347,7 +3364,7 @@ packages: - terser dev: true - /vite@4.5.0(@types/node@20.8.7): + /vite@4.5.0(@types/node@20.8.9): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -3375,7 +3392,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.9 esbuild: 0.18.20 postcss: 8.4.31 rollup: 3.29.4 @@ -3416,7 +3433,7 @@ packages: dependencies: '@types/chai': 4.3.9 '@types/chai-subset': 1.3.4 - '@types/node': 20.8.7 + '@types/node': 20.8.9 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -3435,8 +3452,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 4.5.0(@types/node@20.8.7) - vite-node: 0.34.6(@types/node@20.8.7) + vite: 4.5.0(@types/node@20.8.9) + vite-node: 0.34.6(@types/node@20.8.9) why-is-node-running: 2.2.2 transitivePeerDependencies: - less