noCheck în TypeScript

tsconfig: diagnosticare TypeScript 5.6

Generează fișierele fără verificarea completă a tipurilor; raportează doar erorile de sintaxă și de emitere.

Sintaxă
"compilerOptions": { "noCheck": true }

tsc --noCheck

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 noCheck fă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.