pnpm check-types only checks 2 of 10 packages, so CI's type gate is mostly empty

Fermée
#189 3 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@Blazehue y travaille déjà.

Depuis le 26/10/2026.

  • #222 par @Blazehue — fusionnée

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
72/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active
Stack technique
typescript, vite
Domaine
build-system, ci-cd

Piste de recherche

Start by reading .github/workflows/ci.yml, the root package scripts and turbo.json, then compare the package.json files for the listed apps with genai and @repo/ui. Check each package’s TypeScript project configuration, especially the frontend build setup, before adding the missing checks. Run pnpm run check-types and verify a deliberate type error in http-server or frontend makes it fail.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Backend first issue bug good first issue help wanted nsoc26

CI presents this as the type-safety gate:

# .github/workflows/ci.yml
      - name: Type-check
        run: pnpm run check-types

But most packages do not define the script, so turbo finds almost nothing to run:

• Packages in scope: @repo/db, @repo/eslint-config, @repo/typescript-config,
                     @repo/ui, admin, admin-server, frontend, genai,
                     http-server, ws-server
• Running check-types in 10 packages
 Tasks:    2 successful, 2 total

Only genai and @repo/ui have it. frontend, http-server, ws-server, admin, admin-server and @repo/db are all skipped, and turbo exits 0 regardless.

Why it matters

A contributor can break every type in http-server or the whole frontend and CI stays green. The step looks like protection and provides almost none — which is worse than having no step, because reviewers trust it.

What a fix looks like

Add the script to each package that is missing it:

"check-types": "tsc --noEmit"

The frontend builds with tsc -b && vite build, so it may want tsc -b --noEmit or its existing project reference instead — worth checking what that package actually needs rather than pasting the same line everywhere.

You will not inherit a pile of errors. I checked both servers before filing:

apps/http-server  tsc --noEmit -> 0 errors
apps/ws-server    tsc --noEmit -> 0 errors

So this is additive. If admin or admin-server turn out to have existing errors, say so in the PR rather than fixing them in the same change — those can be their own issue.

Definition of done
  • pnpm run check-types reports more than 2 total (6+ depending on what you include)
  • A deliberate type error in http-server or frontend makes the command fail
  • CI goes red for that deliberate error, then green once reverted

Good first issue: a few lines of JSON, and it turns a decorative CI step into a real one. Verify it works by breaking a type on purpose before you open the PR.

Langage dominant
TypeScript
Étoiles
21
Forks
7
Merge moyen
5 h 35 min
PR mergées (30 j)
33

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de TheCodeHeist-Coder/Rexial

Toutes les issues de TheCodeHeist-Coder/Rexial

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.