Typescript tsconfig nu respectă regula noUnusedLocal


Am un proiect care folosește typescript 3.6.3.

În directorul meu rădăcină am un tsconfig.json cu noUnusedLocals: true:

{
  "compilerOptions": {
    "noUnusedLocals": true,
    "noUnusedParameters": true,

  },
  "include": ["*"],
  "exclude": ["node_modules/*"]
}

Am un fișier în același director rădăcină care conține const unusedVar='';. Când rulez npx tsc --project tsconfig.json nu apare nicio eroare în timpul compilării.

Dacă adaug sourceMap: true în tsconfig și compilez, hărțile sursă sunt adăugate, deci configurația mea este respectată. Dar de ce nu funcționează noUnusedLocals?

Răspuns #1

Dacă ai un fișier doar cu

const unusedVar = '';

atunci este de așteptat ca avertizarea să fie declanșată: noUnusedLocals este o regulă care se declanșează pentru variabile locale neutilizate, în timp ce variabila pe care ai declarat-o este globală.

Pentru a-l face local, pune-l într-o funcție sau pur și simplu într-un bloc fără nume { const unusedVar=''; }