From 30465c7833b5f041c27f48ef8f21834fd472b9be Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 17 Jul 2026 09:08:42 +0200 Subject: [PATCH] =?UTF-8?q?Verbessere=20Codequalit=C3=A4t=20und=20Sicherhe?= =?UTF-8?q?it=20durch=20Refactoring,=20Hinzuf=C3=BCgen=20von=20ESLint-Rege?= =?UTF-8?q?ln=20und=20Aktualisierung=20der=20OSV-Scanner-Konfiguration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/code-analysis.yml | 2 +- .osv-scanner.toml | 4 ++++ components/ModalDialog.vue | 5 ----- eslint.config.js | 22 +++++++++++++++++-- pages/cms/newsletter.vue | 1 + pages/mannschaften/[slug].vue | 1 - pages/mitgliederbereich/index.vue | 4 +--- pages/mitgliederbereich/mitglieder.vue | 5 ----- pages/newsletter/subscribe.vue | 2 -- pages/registrieren.vue | 4 ---- pages/verein/geschichte.vue | 1 + pages/verein/satzung.vue | 1 + pages/verein/tt-regeln.vue | 1 + pages/verein/ueber-uns.vue | 1 + server/api/auth/passkeys/login.post.js | 3 --- server/api/membership/generate-pdf.post.js | 2 -- .../newsletter/groups/[id]/posts/list.get.js | 1 + server/api/spielplan/table.get.js | 1 - server/utils/members.js | 2 +- server/utils/pdf-form-filler.js | 9 ++++---- server/utils/pdf-generator-service.js | 4 ++-- server/utils/qttr-import.js | 10 --------- server/utils/spielplan-data.js | 2 +- server/utils/spielplan-import.js | 4 ---- server/utils/termine.js | 1 - 25 files changed, 40 insertions(+), 53 deletions(-) create mode 100644 .osv-scanner.toml diff --git a/.gitea/workflows/code-analysis.yml b/.gitea/workflows/code-analysis.yml index 8c799bc..7e0dcf8 100755 --- a/.gitea/workflows/code-analysis.yml +++ b/.gitea/workflows/code-analysis.yml @@ -116,7 +116,7 @@ jobs: chmod +x osv-scanner ./osv-scanner --version test -f ./package-lock.json - ./osv-scanner --lockfile ./package-lock.json + ./osv-scanner scan -L ./package-lock.json --config ./.osv-scanner.toml deploy-production: runs-on: ubuntu-latest diff --git a/.osv-scanner.toml b/.osv-scanner.toml new file mode 100644 index 0000000..a7904b6 --- /dev/null +++ b/.osv-scanner.toml @@ -0,0 +1,4 @@ +[[IgnoredVulns]] +id = "GHSA-v3m3-f69x-jf25" +ignoreUntil = 2026-12-31 +reason = "Temporary exception: Quill 2.0.3 is required by the current RichTextEditor implementation, and OSV currently reports no fixed version. Track upstream fix and remove this ignore once a patched release is available." diff --git a/components/ModalDialog.vue b/components/ModalDialog.vue index 3f4877a..08b47fb 100755 --- a/components/ModalDialog.vue +++ b/components/ModalDialog.vue @@ -151,11 +151,6 @@ const showConfirmModal = (title, message, action) => { showConfirm.value = true } -const closeSuccess = () => { - showSuccessToast.value = false - if (toastTimeout) { clearTimeout(toastTimeout); toastTimeout = null } -} - const closeError = () => { showError.value = false } diff --git a/eslint.config.js b/eslint.config.js index cacf3af..7f8a288 100755 --- a/eslint.config.js +++ b/eslint.config.js @@ -25,14 +25,19 @@ export default [ 'useHead': 'readonly', 'useFetch': 'readonly', 'definePageMeta': 'readonly', + 'defineNuxtPlugin': 'readonly', + 'defineNitroPlugin': 'readonly', 'defineNuxtRouteMiddleware': 'readonly', 'defineEventHandler': 'readonly', 'readBody': 'readonly', + 'getMethod': 'readonly', 'getCookie': 'readonly', 'setCookie': 'readonly', 'deleteCookie': 'readonly', 'getHeader': 'readonly', + 'getRequestURL': 'readonly', 'setHeader': 'readonly', + 'setResponseStatus': 'readonly', 'getRouterParam': 'readonly', 'getQuery': 'readonly', 'sendStream': 'readonly', @@ -66,8 +71,9 @@ export default [ 'vue/multi-word-component-names': 'off', 'vue/no-v-html': 'warn', 'no-unused-vars': ['warn', { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_' + argsIgnorePattern: '^_|^event$', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_|^e$|^err$|^error$' }], 'vue/no-unused-vars': ['warn', { ignorePattern: '^_' @@ -97,6 +103,18 @@ export default [ 'tests/**', 'scripts/**' ] + }, + { + files: [ + 'pages/cms/newsletter.vue', + 'pages/verein/geschichte.vue', + 'pages/verein/satzung.vue', + 'pages/verein/tt-regeln.vue', + 'pages/verein/ueber-uns.vue' + ], + rules: { + 'vue/no-v-html': 'off' + } } ] diff --git a/pages/cms/newsletter.vue b/pages/cms/newsletter.vue index e3fb71f..c7b8b1f 100755 --- a/pages/cms/newsletter.vue +++ b/pages/cms/newsletter.vue @@ -167,6 +167,7 @@ +
import { ref, computed, onMounted } from 'vue' -import { Users } from 'lucide-vue-next' const route = useRoute() diff --git a/pages/mitgliederbereich/index.vue b/pages/mitgliederbereich/index.vue index 901ab21..fbf74af 100755 --- a/pages/mitgliederbereich/index.vue +++ b/pages/mitgliederbereich/index.vue @@ -124,11 +124,9 @@