–showConfig în TypeScript

Afișează configurația finală (cu extends rezolvat și opțiunile deduse) și lista de fișiere, fără să compileze.

Sintaxă
tsc --showConfig
tsc -p tsconfig.build.json --showConfig

Ce face --showConfig

tsc --showConfig citește tsconfig.json, rezolvă extends, adaugă opțiunile care rezultă din altele (de exemplu ce pornește strict sau module: nodenext) și afișează rezultatul ca JSON, împreună cu lista de fișiere incluse. Nu compilează nimic.

Este primul pas când nu înțelegi de ce o opțiune „nu merge”: vezi exact ce valoare a ajuns la tsc. Valorile implicite simple, care nu sunt deduse din altă opțiune, nu apar în listă.

Parametri

Parametru Descriere
--showConfig Afișează configurația finală și se oprește.

Exemple

Exemplul 1: Opțiunile deduse

Din trei opțiuni scrise, rezultă aproape douăzeci: module: nodenext fixează rezolvarea și interoperabilitatea, iar strict pornește toată familia de verificări.

// tsconfig.json
{
  "compilerOptions": {
    "strict": true,
    "target": "es2022",
    "module": "nodenext"
  }
}

Rezultat (tsc 5.9)

$ npx tsc --showConfig
{
    "compilerOptions": {
        "strict": true,
        "target": "es2022",
        "module": "nodenext",
        "moduleResolution": "nodenext",
        "moduleDetection": "force",
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true,
        "resolvePackageJsonExports": true,
        "resolvePackageJsonImports": true,
        "resolveJsonModule": true,
        "useDefineForClassFields": true,
        "noImplicitAny": true,
        "noImplicitThis": true,
        "strictNullChecks": true,
        "strictFunctionTypes": true,
        "strictBindCallApply": true,
        "strictPropertyInitialization": true,
        "strictBuiltinIteratorReturn": true,
        "alwaysStrict": true,
        "useUnknownInCatchVariables": true
    },
    "files": [
        "./a.ts"
    ]
}

Greșeli frecvente

  • Să crezi că o opțiune lipsă din --showConfig este dezactivată. Poate avea pur și simplu valoarea implicită, nescrisă.

Comenzi înrudite

  • --project: Compilează proiectul descris de un anumit fișier tsconfig (sau de tsconfig.json dintr-un director dat).
  • --init: Creează un fișier tsconfig.json nou, cu setările recomandate de versiunea curentă de TypeScript.
  • --listFilesOnly: Afișează fișierele care fac parte din compilare; –listFilesOnly se oprește aici, –listFiles compilează și apoi le afișează.
  • strict: Pornește dintr-o singură mișcare toate verificările stricte de tipuri (strictNullChecks, noImplicitAny și celelalte).