Ce face newLine
newLine stabilește caracterele de sfârșit de rând din fișierele scrise de tsc: lf (\n, folosit pe Linux și macOS) sau crlf (\r\n, folosit pe Windows). Valoarea implicită este lf (de la TypeScript 5.0; înainte depindea de sistem).
emitBOM adaugă la începutul fiecărui fișier marcajul BOM UTF-8 (octeții EF BB BF). Unele unelte vechi de pe Windows îl cer, dar majoritatea îl tratează ca pe un caracter în plus. Implicit: false.
Parametri
| Parametru | Descriere |
|---|---|
newLine: "lf" | "crlf" |
Sfârșitul de rând. Implicit lf. |
emitBOM: true |
Se scrie BOM-ul UTF-8 la început. Implicit false. |
Exemple
Exemplul 1: Octeții din fișierul generat
od -c arată octeții: la început BOM-ul (357 273 277, adică EF BB BF), iar la final de rând \r \n. Cu valorile implicite apare doar \n, fără BOM.
// tsconfig.json
{
"compilerOptions": {
"target": "es2022",
"newLine": "crlf",
"emitBOM": true
}
}
// index.ts
const a = 1;
console.log(a);
Rezultat (tsc 5.9)
$ npx tsc && od -c index.js | head -3
0000000 357 273 277 c o n s t a = 1 ; \r
0000020 \n c o n s o l e . l o g ( a ) ;
0000040 \r \n
$ npx tsc --newLine lf --emitBOM false && od -c index.js | head -2
0000000 c o n s t a = 1 ; \n c o n
0000020 s o l e . l o g ( a ) ; \n
Greșeli frecvente
- Să folosești
emitBOMpentru scripturi rulate pe Linux cu#!/usr/bin/env node. BOM-ul din fața lui#!strică scriptul.
Comenzi înrudite
outDir: Directorul în care tsc scrie fișierele generate, cu aceeași structură de subdirectoare ca sursele.removeComments: Scoate comentariile din fișierele .js generate (și din .d.ts).