Skip to content

Commit d1d0774

Browse files
committed
upgrade to eslint 10
1 parent 63e6862 commit d1d0774

11 files changed

Lines changed: 70 additions & 97 deletions

File tree

apps/api/prisma/util/gliederungEmails.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ import { PrismaClient } from '@prisma/client'
22
import { enrichEmailAdresses } from '../seeders/gliederungen.js'
33

44
const prisma = new PrismaClient()
5+
const enrichEmailAdressesTyped = enrichEmailAdresses as (prisma: PrismaClient) => Promise<void>
56

67
await prisma.$connect()
78

8-
await enrichEmailAdresses(prisma)
9+
await enrichEmailAdressesTyped(prisma)
910

1011
await prisma.$disconnect()

apps/api/src/cli/inquireGenerateService.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
/* eslint-disable @typescript-eslint/no-unsafe-argument */
2-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
32
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
43
import inquirer from 'inquirer'
54

apps/frontend/src/components/UIComponents/CircularProgress.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import { computed } from 'vue'
77
88
const props = withDefaults(
99
defineProps<{
10-
progress: number
11-
size: number
12-
strokeWidth: number
13-
formatter: (value: number) => string
10+
progress?: number
11+
size?: number
12+
strokeWidth?: number
13+
formatter?: (value: number) => string
1414
}>(),
1515
{
1616
progress: 0,

apps/frontend/src/components/UIComponents/KeyValue.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import type { Component } from 'vue'
33
44
withDefaults(
55
defineProps<{
6-
keyText: string
7-
valueText: string | number | undefined
6+
keyText?: string
7+
valueText?: string | number | undefined
88
icon?: Component
99
}>(),
1010
{

apps/frontend/src/views/Anmeldung/AnmeldungFormGeneral.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { type NahrungsmittelIntoleranz } from '@codeanker/api'
1313
1414
const props = withDefaults(
1515
defineProps<{
16-
isPublic: boolean
16+
isPublic?: boolean
1717
token?: string
1818
}>(),
1919
{

apps/frontend/src/views/Unterveranstaltung/UnterveranstaltungDetail.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ const anmeldeLinkCreateModal = useTemplateRef('anmeldeLinkCreateModal')
216216
<div class="text-lg font-semibold">Bedingungen <Badge color="secondary"> Gliederung </Badge></div>
217217
<p class="text-sm text-gray-500">Bitte beachte die folgenden Bedingungen</p>
218218
</div>
219+
<!-- eslint-disable vue/no-v-html -->
219220
<div
220221
class="prose dark:prose-invert"
221222
v-html="unterveranstaltung?.bedingungen"
@@ -249,6 +250,7 @@ const anmeldeLinkCreateModal = useTemplateRef('anmeldeLinkCreateModal')
249250
class="prose dark:prose-invert"
250251
v-html="unterveranstaltung?.veranstaltung?.datenschutz"
251252
/>
253+
<!-- eslint-enable vue/no-v-html -->
252254
</Tab>
253255
<Tab key="marketing">
254256
<div class="flex justify-between items-center mt-5 lg:mt-10 mb-5">

apps/frontend/src/views/Verwaltung/Veranstaltungen/VeranstaltungDetail.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ function copyProgramLink() {
199199
Bitte beachte die folgenden Teilnahmebedingungen, diese sind bei der Anmeldung öffentlich einsehbar.
200200
</p>
201201
</div>
202+
<!-- eslint-disable vue/no-v-html -->
202203
<div
203204
v-if="veranstaltung?.teilnahmeBedingungenPublic"
204205
class="prose dark:prose-invert"
@@ -230,6 +231,7 @@ function copyProgramLink() {
230231
class="prose dark:prose-invert"
231232
v-html="veranstaltung?.datenschutz"
232233
/>
234+
<!-- eslint-enable vue/no-v-html -->
233235
<div v-else>
234236
<p class="text-gray-500">Keine Datenschutzhinweise hinterlegt</p>
235237
</div>

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"start:docs": "npm run docs:dev -w ./apps/docs",
2121
"migrate:api": "npm exec -w ./apps/api prisma migrate deploy",
2222
"lint": "turbo lint",
23+
"lint:strict": "pnpm -C ./apps/api exec eslint . --cache --max-warnings=0 && pnpm -C ./apps/frontend exec eslint . --cache --max-warnings=0 && pnpm -C ./packages/authentication exec eslint . --cache --max-warnings=0 && pnpm -C ./packages/cookies exec eslint . --cache --max-warnings=0 && pnpm -C ./packages/helpers exec eslint . --cache --max-warnings=0 && pnpm -C ./packages/interfaces exec eslint . --cache --max-warnings=0 && pnpm -C ./packages/validation exec eslint . --cache --max-warnings=0",
2324
"lint:fix": "eslint \"**/*.{vue,ts,js}\" --fix",
2425
"prepare": "husky install",
2526
"test": "vitest",

packages/eslint-config/eslint.vue.config.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,7 @@ import globals from 'globals'
44
import typescriptEslint from 'typescript-eslint'
55
import eslintConfigPrettier from 'eslint-config-prettier'
66

7-
const recommended = eslintPluginVue.configs['flat/recommended'].map((item) => {
8-
if (item.rules) delete item.rules['vue/multi-word-component-names']
9-
if (item.rules) delete item.rules['vue/singleline-html-element-content-newline']
10-
if (item.rules) delete item.rules['vue/html-self-closing']
11-
if (item.rules) delete item.rules['vue/html-indent']
12-
if (item.rules) delete item.rules['vue/html-closing-bracket-newline']
13-
return item
14-
})
7+
const recommended = eslintPluginVue.configs['flat/recommended']
158

169
export default typescriptEslint.config(
1710
{ ignores: ['*.d.ts', '**/coverage', '**/dist'] },
@@ -45,19 +38,20 @@ export default typescriptEslint.config(
4538
'vue/no-mutating-props': 'off',
4639
'vue/multi-word-component-names': 'off',
4740
'vue/require-default-prop': 'off', // Durch typescript ist das immer ersichtlich, dass es undefined sein kann.
41+
'vue/singleline-html-element-content-newline': 'off',
4842
'vue/html-self-closing': 'off',
43+
'vue/html-indent': 'off',
44+
'vue/html-closing-bracket-newline': 'off',
4945
'@typescript-eslint/no-explicit-any': 'off',
5046
'@typescript-eslint/no-unused-vars': [
5147
'error',
5248
{ argsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_', ignoreRestSiblings: true },
5349
],
5450
'no-unused-vars': 'off',
55-
'vue/no-ref-object-destructure': 'error',
5651
'vue/no-undef-components': ['error', { ignorePatterns: ['router-link', 'router-view'] }],
5752
'vue/no-unused-refs': 'error',
5853
'vue/no-useless-mustaches': 'error',
5954
'vue/no-useless-v-bind': 'error',
60-
'vue/v-on-function-call': 'error',
6155
'vue/no-unused-properties': ['error', { groups: ['props', 'data', 'computed', 'methods', 'setup'] }],
6256
'vue/html-button-has-type': 'error',
6357
'vue/no-ref-object-reactivity-loss': 'error',

packages/eslint-config/package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@
77
},
88
"devDependencies": {
99
"@eslint/js": "catalog:",
10-
"eslint": "catalog:",
11-
"eslint-config-prettier": "^9.1.0",
12-
"eslint-plugin-vue": "^9.32.0",
10+
"@typescript-eslint/eslint-plugin": "^8.56.0",
11+
"@typescript-eslint/parser": "^8.56.0",
12+
"eslint": "^10.0.1",
13+
"eslint-config-prettier": "^10.1.8",
14+
"eslint-plugin-vue": "^10.8.0",
1315
"globals": "^15.14.0",
1416
"typescript-eslint": "catalog:"
1517
}

0 commit comments

Comments
 (0)