Fișierele de test din frontend nu sunt verificate de niciun typecheck
tsconfig.app.json exclude explicit src/test, iar tsconfig.test.json nu e referit de nimeni. Rezultatul: niciun fișier de test din frontend nu trece prin tsc.
Ce am găsit
frontend/tsconfig.json referă doar două proiecte:
"references": [
{ "path": "./tsconfig.app.json" },
{ "path": "./tsconfig.node.json" }
]
frontend/tsconfig.app.json:32 are "exclude": ["src/test"]. tsconfig.test.json există, extinde app, include src/test — și nu e referit din tsconfig.json, deci nici tsc -b din npm run build, nici verificarea manuală cu -p tsconfig.app.json nu îl ating.
Rulat direct, raportează 45 de erori în fișierele de test:
npx tsc --noEmit -p tsconfig.test.json
src/test/runtimeConfigScript.test.ts(1,30): error TS2591: Cannot find name 'node:fs'...
src/test/publicAssets.test.ts(33,61): error TS7006: Parameter 'entry' implicitly has an 'any' type.
Cauzele sunt două, amândouă de configurație, nu de cod: types nu include node (deși testele citesc fișiere cu node:fs), și dataLayer / __RUNTIME_CONFIG__ nu au declarații în acest proiect.
De ce contează
Testele sunt plasa de siguranță a proiectului — 207 la ultima numărătoare. Un test care nu se compilează dar rulează sub vitest (care nu verifică tipuri, doar transpilează) poate să treacă verde pe o presupunere greșită despre forma datelor. Verificarea pe care o rulăm înainte de fiecare commit nu vede nimic din asta.
De făcut
-
Adaugă tipurile care lipsesc în tsconfig.test.json(nodeîntypes, declarațiile pentrudataLayerși__RUNTIME_CONFIG__) -
Repară cele 45 de erori raportate -
Referă tsconfig.test.jsondinfrontend/tsconfig.json, catsc -bsă-l includă -
Verifică dacă tsconfig.app.jsonare nevoie destrict— nu îl are astăzi; dacă intră, intră ca task separat
Criteriu de acceptare
npx tsc --noEmit -p tsconfig.test.json iese cu zero erori, iar tsc -b din npm run build îl acoperă. npm test rămâne verde.