From 32145c27e080804c74fd7a8b63714c62d31f3645 Mon Sep 17 00:00:00 2001 From: Roz Date: Sat, 1 Aug 2026 01:11:02 +0200 Subject: [PATCH] chore(mise): generate schema clients before typechecking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit packages/schemas/src/generated is gitignored, so a fresh checkout typechecks against clients that don't exist yet: ~13 errors like "Cannot find module '@jack/schemas/radarr/types'" plus the implicit-anys they cascade into, all of which read like a regression in whatever you last touched. The dependency goes on typecheck:backend and typecheck:workspace — the two tasks that actually consume the generated types — so running either one directly is fixed too, not just the `mise run typecheck` aggregate. It depends on `clients:generate` rather than `clients` so it skips the clean: generating over existing output is idempotent, which keeps it cheap to repeat on every run. mise dedupes the shared dependency, so a full typecheck generates once. --- .mise/tasks/typecheck/backend | 5 +++++ .mise/tasks/typecheck/workspace | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/.mise/tasks/typecheck/backend b/.mise/tasks/typecheck/backend index bcd5f84..2537662 100755 --- a/.mise/tasks/typecheck/backend +++ b/.mise/tasks/typecheck/backend @@ -1,4 +1,9 @@ #!/usr/bin/env sh #MISE description="Typecheck the backend with tsc" +# The backend imports @jack/schemas, whose sources are generated and gitignored — +# without this, a fresh checkout fails with "Cannot find module '@jack/schemas/...'". +# `clients:generate` rather than `clients`: it skips the clean, so it's idempotent +# and cheap to repeat on every typecheck. +#MISE depends=["clients:generate"] bunx tsc --project apps/backend/tsconfig.json --noEmit --pretty false diff --git a/.mise/tasks/typecheck/workspace b/.mise/tasks/typecheck/workspace index 70c6a83..1eee24d 100755 --- a/.mise/tasks/typecheck/workspace +++ b/.mise/tasks/typecheck/workspace @@ -1,4 +1,8 @@ #!/usr/bin/env sh #MISE description="Typecheck non-Vue workspace files with tsc" +# packages/schemas re-exports the generated (gitignored) clients, so they have to +# exist before tsc runs over the workspace. `clients:generate` skips the clean that +# `clients` does, so repeating it on every typecheck is cheap. +#MISE depends=["clients:generate"] bunx tsc --project tsconfig.json --noEmit --pretty false