From b959e312b1e2d7293a9d8005e41d96dd17aa15b0 Mon Sep 17 00:00:00 2001 From: Marcel Date: Wed, 27 May 2026 09:34:36 +0200 Subject: [PATCH] ci(frontend): run npm run check to gate generated-type drift on PRs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `npm run lint` does not type-check, so a hand-edited or stale api.ts whose required fields are missing from Document/Person mocks would pass CI. Adds a svelte-check/tsc step after Lint (svelte-kit sync + paraglide compile already ran), making the frontend type-check a blocking gate on every pull_request. Note for the repo owner: enforcing this as a required status check is a Gitea branch-protection setting, not code — please mark the CI job required on the protected branches. Refs #671 Co-Authored-By: Claude Opus 4.7 --- .gitea/workflows/ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 416b8597..d25672cb 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -45,6 +45,13 @@ jobs: run: npm run lint working-directory: frontend + # svelte-check / tsc — catches generated-type drift (e.g. a hand-edited + # api.ts whose required fields are missing from Document/Person mocks). + # `npm run lint` alone does not type-check. See PR #673 / #671. + - name: Type check + run: npm run check + working-directory: frontend + - name: Assert no banned vi.mock patterns shell: bash run: |