Ce face noCheck
Cu noCheck, tsc sare peste verificarea tipurilor și doar transformă codul. Erorile de tip nu sunt raportate, dar erorile de sintaxă (cod care nu poate fi citit) apar în continuare. Compilarea este mult mai rapidă.
Se folosește când verificarea se face separat: de exemplu un pas tsc --noEmit rulat în paralel în CI și un pas tsc --noCheck care produce rapid fișierele .js și .d.ts. Pentru declarații fără verificare, combinația cu isolatedDeclarations dă rezultate sigure. Implicit: false.
Parametri
| Parametru | Descriere |
|---|---|
true |
Fără verificarea tipurilor. |
false |
Valoarea implicită. |
Exemple
Exemplul 1: O eroare de tip ignorată, una de sintaxă nu
Prima comandă: eroarea de tip nu este raportată și fișierul este scris. A doua: același fișier, plus un rând cu o eroare de sintaxă, care este raportată (dar dist/index.js este scris oricum).
// tsconfig.json
{
"compilerOptions": {
"module": "nodenext",
"target": "es2022",
"outDir": "dist"
}
}
// index.ts
const total: number = "120 lei";
console.log(total);
Rezultat (tsc 5.9)
$ npx tsc --noCheck && cat dist/index.js
const total = "120 lei";
console.log(total);
export {};
$ echo 'const x = ;' >> index.ts && npx tsc --noCheck; ls dist
index.ts(3,11): error TS1109: Expression expected.
index.js
Greșeli frecvente
- Să folosești
noCheckfără un alt pas care verifică tipurile. Erorile de tip trec neobservate.
Comenzi înrudite
noEmit: tsc doar verifică tipurile și nu scrie niciun fișier (.js, .d.ts, .map).isolatedDeclarations: Cere tipuri scrise explicit pe exporturi, ca fișierele .d.ts să poată fi generate fișier cu fișier, fără verificarea tipurilor.isolatedModules: Dă eroare pentru codul care nu poate fi transformat corect fișier cu fișier (de esbuild, Babel, swc sau Node.js).incremental: Salvează informații despre ultima compilare într-un fișier .tsbuildinfo, ca următoarea compilare să refacă doar ce s-a schimbat.