node-moduler - Typescript ger fel i node_modules med strikt kompilatoralternativ


Det finns flera GitHub-ärenden om varför fel i node_modules kastas trots att den mappen är exkluderad i tsconfig.json. Om det finns någon import av biblioteket inkluderas det, och ignorerar exclude-egenskapen.

Men när man använder striktare kompilatorinställningar (dvs. strictNullChecks, noUnusedLocals, ...) och refererar till ett bibliotek som inte är utformat för att fungera med dessa inställningar, uppstår fel.

Så varje gång man använder ett sådant bibliotek är det alltid ett beslut att antingen inte använda biblioteket eller att inte använda kompileringsalternativet. Det finns dock stora bibliotek/ramverk som inte stöder dessa alternativ (t.ex. Angular) så det verkar som att det inte finns något sätt att använda dessa alternativ för att säkerställa strikta kontroller i det egna projektet.

Missar jag någon möjlighet att undvika att fel i node_modules kastas? Om inte, finns det något tekniskt krav på att tillämpa dessa regler på alla importerade bibliotek eller vad är resonemanget bakom detta beteende?

Svar #1

I alla mina projektupplägg har jag en struktur där jag i roten har:

Mappar :

  • kod_mapp
  • node_modules

Filer :

  • package.json
  • LÄS.MIG.md
  • tsconfig.json
  • tslint.json
  • yarn.lock

Sedan i tsconfig.json:

{
    "compilerOptions": {
        "lib": ["es6"]
    },
    "include": [
        "code_folder/*"
    ]
}

Relaterade artiklar