charset în TypeScript

tsconfig: opțiuni scoase (compatibilitate) TypeScript 1.x (scoasă în 5.5)

Opțiune scoasă care alegea codificarea fișierelor sursă; tsc le citește acum ca UTF-8.

Sintaxă
// scoasă; fișierele sunt citite ca UTF-8

Ce face charset

Opțiunea face parte din „Backwards Compatibility”: a fost marcată ca depreciată în TypeScript 5.0 și scoasă în TypeScript 5.5. În tsc 5.9, prezența ei în tsconfig.json dă eroarea TS5102, iar "ignoreDeprecations": "5.0" nu mai ajută. Șterge-o din configurație.

În versiunile vechi, charset permitea citirea fișierelor sursă în altă codificare decât UTF-8 (de exemplu Windows-1250). Încă dinainte de a fi scoasă nu mai avea niciun efect: tsc citește fișierele ca UTF-8 (și recunoaște marcajul BOM pentru UTF-16).

Dacă ai fișiere vechi în altă codificare, convertește-le în UTF-8 (de exemplu cu iconv sau din editor), altfel literele românești apar greșit.

Parametri

Parametru Descriere
charset Scoasă. Orice valoare dă TS5102.

Exemple

Exemplul 1: Eroarea în tsc 5.9

Chiar și valoarea utf8, care era cea implicită, dă eroare.

// tsconfig.json
{
  "compilerOptions": {
    "charset": "utf8"
  }
}

Rezultat (tsc 5.9)

$ npx tsc
tsconfig.json(3,5): error TS5102: Option 'charset' has been removed. Please remove it from your configuration.

Greșeli frecvente

  • Să păstrezi fișiere sursă în altă codificare decât UTF-8. Textul românesc (ă, î, ș, ț) apare stricat în JavaScript-ul generat.

Comenzi înrudite

  • newLine: Alege sfârșitul de rând din fișierele generate (lf sau crlf); emitBOM adaugă marcajul BOM UTF-8 la început.
  • importsNotUsedAsValues: Opțiuni scoase din TypeScript 5.5 care controlau păstrarea importurilor; înlocuite de verbatimModuleSyntax.