Set up typed eslint

This commit is contained in:
Joscha 2025-03-02 18:59:59 +01:00
parent dbdb3c66a3
commit 7ea8ac6715
5 changed files with 95 additions and 56 deletions

126
pnpm-lock.yaml generated
View file

@ -24,36 +24,42 @@ importers:
'@eslint/js': '@eslint/js':
specifier: ^9.21.0 specifier: ^9.21.0
version: 9.21.0 version: 9.21.0
'@types/eslint-config-prettier':
specifier: ^6.11.3
version: 6.11.3
'@vitejs/plugin-vue': '@vitejs/plugin-vue':
specifier: ^5.2.1 specifier: ^5.2.1
version: 5.2.1(vite@6.2.0(@types/node@22.13.8))(vue@3.5.13(typescript@5.7.3)) version: 5.2.1(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3))
'@vue/tsconfig': '@vue/tsconfig':
specifier: ^0.7.0 specifier: ^0.7.0
version: 0.7.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)) version: 0.7.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))
eslint: eslint:
specifier: ^9.21.0 specifier: ^9.21.0
version: 9.21.0 version: 9.21.0(jiti@2.4.2)
eslint-config-prettier: eslint-config-prettier:
specifier: ^10.0.2 specifier: ^10.0.2
version: 10.0.2(eslint@9.21.0) version: 10.0.2(eslint@9.21.0(jiti@2.4.2))
eslint-plugin-vue: eslint-plugin-vue:
specifier: ^9.32.0 specifier: ^9.32.0
version: 9.32.0(eslint@9.21.0) version: 9.32.0(eslint@9.21.0(jiti@2.4.2))
globals: globals:
specifier: ^16.0.0 specifier: ^16.0.0
version: 16.0.0 version: 16.0.0
jiti:
specifier: ^2.4.2
version: 2.4.2
typescript: typescript:
specifier: ~5.7.3 specifier: ~5.7.3
version: 5.7.3 version: 5.7.3
typescript-eslint: typescript-eslint:
specifier: ^8.25.0 specifier: ^8.25.0
version: 8.25.0(eslint@9.21.0)(typescript@5.7.3) version: 8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
vite: vite:
specifier: ^6.2.0 specifier: ^6.2.0
version: 6.2.0(@types/node@22.13.8) version: 6.2.0(@types/node@22.13.8)(jiti@2.4.2)
vite-plugin-vue-devtools: vite-plugin-vue-devtools:
specifier: ^7.7.2 specifier: ^7.7.2
version: 7.7.2(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8))(vue@3.5.13(typescript@5.7.3)) version: 7.7.2(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3))
vue-tsc: vue-tsc:
specifier: ^2.2.8 specifier: ^2.2.8
version: 2.2.8(typescript@5.7.3) version: 2.2.8(typescript@5.7.3)
@ -551,6 +557,9 @@ packages:
resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
'@types/eslint-config-prettier@6.11.3':
resolution: {integrity: sha512-3wXCiM8croUnhg9LdtZUJQwNcQYGWxxdOWDjPe1ykCqJFPVpzAKfs/2dgSoCtAvdPeaponcWPI7mPcGGp9dkKQ==}
'@types/estree@1.0.6': '@types/estree@1.0.6':
resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
@ -1073,6 +1082,10 @@ packages:
isexe@2.0.0: isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
jiti@2.4.2:
resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
hasBin: true
js-tokens@4.0.0: js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@ -1781,9 +1794,9 @@ snapshots:
'@esbuild/win32-x64@0.25.0': '@esbuild/win32-x64@0.25.0':
optional: true optional: true
'@eslint-community/eslint-utils@4.4.1(eslint@9.21.0)': '@eslint-community/eslint-utils@4.4.1(eslint@9.21.0(jiti@2.4.2))':
dependencies: dependencies:
eslint: 9.21.0 eslint: 9.21.0(jiti@2.4.2)
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {} '@eslint-community/regexpp@4.12.1': {}
@ -1936,6 +1949,8 @@ snapshots:
'@sindresorhus/merge-streams@4.0.0': {} '@sindresorhus/merge-streams@4.0.0': {}
'@types/eslint-config-prettier@6.11.3': {}
'@types/estree@1.0.6': {} '@types/estree@1.0.6': {}
'@types/json-schema@7.0.15': {} '@types/json-schema@7.0.15': {}
@ -1944,15 +1959,15 @@ snapshots:
dependencies: dependencies:
undici-types: 6.20.0 undici-types: 6.20.0
'@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3)': '@typescript-eslint/eslint-plugin@8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)':
dependencies: dependencies:
'@eslint-community/regexpp': 4.12.1 '@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.7.3) '@typescript-eslint/parser': 8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
'@typescript-eslint/scope-manager': 8.25.0 '@typescript-eslint/scope-manager': 8.25.0
'@typescript-eslint/type-utils': 8.25.0(eslint@9.21.0)(typescript@5.7.3) '@typescript-eslint/type-utils': 8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
'@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.7.3) '@typescript-eslint/utils': 8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
'@typescript-eslint/visitor-keys': 8.25.0 '@typescript-eslint/visitor-keys': 8.25.0
eslint: 9.21.0 eslint: 9.21.0(jiti@2.4.2)
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.3.2 ignore: 5.3.2
natural-compare: 1.4.0 natural-compare: 1.4.0
@ -1961,14 +1976,14 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3)': '@typescript-eslint/parser@8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)':
dependencies: dependencies:
'@typescript-eslint/scope-manager': 8.25.0 '@typescript-eslint/scope-manager': 8.25.0
'@typescript-eslint/types': 8.25.0 '@typescript-eslint/types': 8.25.0
'@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3) '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3)
'@typescript-eslint/visitor-keys': 8.25.0 '@typescript-eslint/visitor-keys': 8.25.0
debug: 4.4.0 debug: 4.4.0
eslint: 9.21.0 eslint: 9.21.0(jiti@2.4.2)
typescript: 5.7.3 typescript: 5.7.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -1978,12 +1993,12 @@ snapshots:
'@typescript-eslint/types': 8.25.0 '@typescript-eslint/types': 8.25.0
'@typescript-eslint/visitor-keys': 8.25.0 '@typescript-eslint/visitor-keys': 8.25.0
'@typescript-eslint/type-utils@8.25.0(eslint@9.21.0)(typescript@5.7.3)': '@typescript-eslint/type-utils@8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)':
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3) '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3)
'@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.7.3) '@typescript-eslint/utils': 8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
debug: 4.4.0 debug: 4.4.0
eslint: 9.21.0 eslint: 9.21.0(jiti@2.4.2)
ts-api-utils: 2.0.1(typescript@5.7.3) ts-api-utils: 2.0.1(typescript@5.7.3)
typescript: 5.7.3 typescript: 5.7.3
transitivePeerDependencies: transitivePeerDependencies:
@ -2005,13 +2020,13 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/utils@8.25.0(eslint@9.21.0)(typescript@5.7.3)': '@typescript-eslint/utils@8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)':
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0) '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2))
'@typescript-eslint/scope-manager': 8.25.0 '@typescript-eslint/scope-manager': 8.25.0
'@typescript-eslint/types': 8.25.0 '@typescript-eslint/types': 8.25.0
'@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3) '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3)
eslint: 9.21.0 eslint: 9.21.0(jiti@2.4.2)
typescript: 5.7.3 typescript: 5.7.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -2021,9 +2036,9 @@ snapshots:
'@typescript-eslint/types': 8.25.0 '@typescript-eslint/types': 8.25.0
eslint-visitor-keys: 4.2.0 eslint-visitor-keys: 4.2.0
'@vitejs/plugin-vue@5.2.1(vite@6.2.0(@types/node@22.13.8))(vue@3.5.13(typescript@5.7.3))': '@vitejs/plugin-vue@5.2.1(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3))':
dependencies: dependencies:
vite: 6.2.0(@types/node@22.13.8) vite: 6.2.0(@types/node@22.13.8)(jiti@2.4.2)
vue: 3.5.13(typescript@5.7.3) vue: 3.5.13(typescript@5.7.3)
'@volar/language-core@2.4.11': '@volar/language-core@2.4.11':
@ -2103,14 +2118,14 @@ snapshots:
de-indent: 1.0.2 de-indent: 1.0.2
he: 1.2.0 he: 1.2.0
'@vue/devtools-core@7.7.2(vite@6.2.0(@types/node@22.13.8))(vue@3.5.13(typescript@5.7.3))': '@vue/devtools-core@7.7.2(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3))':
dependencies: dependencies:
'@vue/devtools-kit': 7.7.2 '@vue/devtools-kit': 7.7.2
'@vue/devtools-shared': 7.7.2 '@vue/devtools-shared': 7.7.2
mitt: 3.0.1 mitt: 3.0.1
nanoid: 5.1.2 nanoid: 5.1.2
pathe: 2.0.3 pathe: 2.0.3
vite-hot-client: 0.2.4(vite@6.2.0(@types/node@22.13.8)) vite-hot-client: 0.2.4(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2))
vue: 3.5.13(typescript@5.7.3) vue: 3.5.13(typescript@5.7.3)
transitivePeerDependencies: transitivePeerDependencies:
- vite - vite
@ -2310,20 +2325,20 @@ snapshots:
escape-string-regexp@4.0.0: {} escape-string-regexp@4.0.0: {}
eslint-config-prettier@10.0.2(eslint@9.21.0): eslint-config-prettier@10.0.2(eslint@9.21.0(jiti@2.4.2)):
dependencies: dependencies:
eslint: 9.21.0 eslint: 9.21.0(jiti@2.4.2)
eslint-plugin-vue@9.32.0(eslint@9.21.0): eslint-plugin-vue@9.32.0(eslint@9.21.0(jiti@2.4.2)):
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0) '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2))
eslint: 9.21.0 eslint: 9.21.0(jiti@2.4.2)
globals: 13.24.0 globals: 13.24.0
natural-compare: 1.4.0 natural-compare: 1.4.0
nth-check: 2.1.1 nth-check: 2.1.1
postcss-selector-parser: 6.1.2 postcss-selector-parser: 6.1.2
semver: 7.7.1 semver: 7.7.1
vue-eslint-parser: 9.4.3(eslint@9.21.0) vue-eslint-parser: 9.4.3(eslint@9.21.0(jiti@2.4.2))
xml-name-validator: 4.0.0 xml-name-validator: 4.0.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -2342,9 +2357,9 @@ snapshots:
eslint-visitor-keys@4.2.0: {} eslint-visitor-keys@4.2.0: {}
eslint@9.21.0: eslint@9.21.0(jiti@2.4.2):
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0) '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2))
'@eslint-community/regexpp': 4.12.1 '@eslint-community/regexpp': 4.12.1
'@eslint/config-array': 0.19.2 '@eslint/config-array': 0.19.2
'@eslint/core': 0.12.0 '@eslint/core': 0.12.0
@ -2378,6 +2393,8 @@ snapshots:
minimatch: 3.1.2 minimatch: 3.1.2
natural-compare: 1.4.0 natural-compare: 1.4.0
optionator: 0.9.4 optionator: 0.9.4
optionalDependencies:
jiti: 2.4.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -2549,6 +2566,8 @@ snapshots:
isexe@2.0.0: {} isexe@2.0.0: {}
jiti@2.4.2: {}
js-tokens@4.0.0: {} js-tokens@4.0.0: {}
js-yaml@4.1.0: js-yaml@4.1.0:
@ -2798,12 +2817,12 @@ snapshots:
type-fest@0.20.2: {} type-fest@0.20.2: {}
typescript-eslint@8.25.0(eslint@9.21.0)(typescript@5.7.3): typescript-eslint@8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3):
dependencies: dependencies:
'@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0)(typescript@5.7.3))(eslint@9.21.0)(typescript@5.7.3) '@typescript-eslint/eslint-plugin': 8.25.0(@typescript-eslint/parser@8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
'@typescript-eslint/parser': 8.25.0(eslint@9.21.0)(typescript@5.7.3) '@typescript-eslint/parser': 8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
'@typescript-eslint/utils': 8.25.0(eslint@9.21.0)(typescript@5.7.3) '@typescript-eslint/utils': 8.25.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3)
eslint: 9.21.0 eslint: 9.21.0(jiti@2.4.2)
typescript: 5.7.3 typescript: 5.7.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -2828,11 +2847,11 @@ snapshots:
util-deprecate@1.0.2: {} util-deprecate@1.0.2: {}
vite-hot-client@0.2.4(vite@6.2.0(@types/node@22.13.8)): vite-hot-client@0.2.4(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2)):
dependencies: dependencies:
vite: 6.2.0(@types/node@22.13.8) vite: 6.2.0(@types/node@22.13.8)(jiti@2.4.2)
vite-plugin-inspect@0.8.9(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8)): vite-plugin-inspect@0.8.9(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2)):
dependencies: dependencies:
'@antfu/utils': 0.7.10 '@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@4.34.9) '@rollup/pluginutils': 5.1.4(rollup@4.34.9)
@ -2843,28 +2862,28 @@ snapshots:
perfect-debounce: 1.0.0 perfect-debounce: 1.0.0
picocolors: 1.1.1 picocolors: 1.1.1
sirv: 3.0.1 sirv: 3.0.1
vite: 6.2.0(@types/node@22.13.8) vite: 6.2.0(@types/node@22.13.8)(jiti@2.4.2)
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- supports-color - supports-color
vite-plugin-vue-devtools@7.7.2(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8))(vue@3.5.13(typescript@5.7.3)): vite-plugin-vue-devtools@7.7.2(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3)):
dependencies: dependencies:
'@vue/devtools-core': 7.7.2(vite@6.2.0(@types/node@22.13.8))(vue@3.5.13(typescript@5.7.3)) '@vue/devtools-core': 7.7.2(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3))
'@vue/devtools-kit': 7.7.2 '@vue/devtools-kit': 7.7.2
'@vue/devtools-shared': 7.7.2 '@vue/devtools-shared': 7.7.2
execa: 9.5.2 execa: 9.5.2
sirv: 3.0.1 sirv: 3.0.1
vite: 6.2.0(@types/node@22.13.8) vite: 6.2.0(@types/node@22.13.8)(jiti@2.4.2)
vite-plugin-inspect: 0.8.9(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8)) vite-plugin-inspect: 0.8.9(rollup@4.34.9)(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2))
vite-plugin-vue-inspector: 5.3.1(vite@6.2.0(@types/node@22.13.8)) vite-plugin-vue-inspector: 5.3.1(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2))
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
- rollup - rollup
- supports-color - supports-color
- vue - vue
vite-plugin-vue-inspector@5.3.1(vite@6.2.0(@types/node@22.13.8)): vite-plugin-vue-inspector@5.3.1(vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2)):
dependencies: dependencies:
'@babel/core': 7.26.9 '@babel/core': 7.26.9
'@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.9) '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.9)
@ -2875,11 +2894,11 @@ snapshots:
'@vue/compiler-dom': 3.5.13 '@vue/compiler-dom': 3.5.13
kolorist: 1.8.0 kolorist: 1.8.0
magic-string: 0.30.17 magic-string: 0.30.17
vite: 6.2.0(@types/node@22.13.8) vite: 6.2.0(@types/node@22.13.8)(jiti@2.4.2)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
vite@6.2.0(@types/node@22.13.8): vite@6.2.0(@types/node@22.13.8)(jiti@2.4.2):
dependencies: dependencies:
esbuild: 0.25.0 esbuild: 0.25.0
postcss: 8.5.3 postcss: 8.5.3
@ -2887,13 +2906,14 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/node': 22.13.8 '@types/node': 22.13.8
fsevents: 2.3.3 fsevents: 2.3.3
jiti: 2.4.2
vscode-uri@3.1.0: {} vscode-uri@3.1.0: {}
vue-eslint-parser@9.4.3(eslint@9.21.0): vue-eslint-parser@9.4.3(eslint@9.21.0(jiti@2.4.2)):
dependencies: dependencies:
debug: 4.4.0 debug: 4.4.0
eslint: 9.21.0 eslint: 9.21.0(jiti@2.4.2)
eslint-scope: 7.2.2 eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
espree: 9.6.1 espree: 9.6.1

View file

@ -10,9 +10,19 @@ export default tseslint.config(
{ languageOptions: { globals: { ...globals.browser, ...globals.node } } }, { languageOptions: { globals: { ...globals.browser, ...globals.node } } },
{
languageOptions: {
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
extraFileExtensions: ["vue"],
},
},
},
eslint.configs.recommended, eslint.configs.recommended,
...tseslint.configs.strict, ...tseslint.configs.strictTypeChecked,
...tseslint.configs.stylistic, ...tseslint.configs.stylisticTypeChecked,
...vue.configs["flat/recommended"], ...vue.configs["flat/recommended"],
prettier, prettier,

View file

@ -14,12 +14,14 @@
}, },
"devDependencies": { "devDependencies": {
"@eslint/js": "^9.21.0", "@eslint/js": "^9.21.0",
"@types/eslint-config-prettier": "^6.11.3",
"@vitejs/plugin-vue": "^5.2.1", "@vitejs/plugin-vue": "^5.2.1",
"@vue/tsconfig": "^0.7.0", "@vue/tsconfig": "^0.7.0",
"eslint": "^9.21.0", "eslint": "^9.21.0",
"eslint-config-prettier": "^10.0.2", "eslint-config-prettier": "^10.0.2",
"eslint-plugin-vue": "^9.32.0", "eslint-plugin-vue": "^9.32.0",
"globals": "^16.0.0", "globals": "^16.0.0",
"jiti": "^2.4.2",
"typescript": "~5.7.3", "typescript": "~5.7.3",
"typescript-eslint": "^8.25.0", "typescript-eslint": "^8.25.0",
"vite": "^6.2.0", "vite": "^6.2.0",

View file

@ -2,4 +2,11 @@ import { createApp } from "vue";
import "./style.css"; import "./style.css";
import App from "./App.vue"; import App from "./App.vue";
// The type of App contains any in its type parameters, according to vscode.
// Presumably, this is what triggers the lint.
//
// @vue/eslint-config-typescript turns this option off entirely.
// https://github.com/vuejs/eslint-config-typescript/blob/bcdeb741521a718d44dfe77aadcf6d0702b1fd21/src/internals.ts#L139
//
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
createApp(App).mount("#app"); createApp(App).mount("#app");

View file

@ -14,5 +14,5 @@
"moduleDetection": "force", "moduleDetection": "force",
"noEmit": true "noEmit": true
}, },
"include": ["vite.config.ts"] "include": ["vite.config.ts", "eslint.config.ts"]
} }