Finnes det en måte å fortelle TypeScript å ekskludere en modul når man genererer en deklarasjonsfil?


Vi har et bibliotek som inkluderer noen moduler beregnet for intern bruk (vanlige hjelpefunksjoner som kreves av andre moduler).

Vi ønsker å avskrekke andre parter fra å ta avhengigheter på disse modulene som kun er for intern bruk ved å ekskludere disse modulene fra vår .d.ts-fil.

Finnes det en måte å forhindre at TypeScript-kompilatoren lister opp visse moduler i .d.ts-filen den genererer?

Svar #1

Du kan endre oppførselen til moduloppløsning ved å bruke stikkordskartlegging:

"compilerOptions": {
    ...
    "baseUrl": ".",
    "paths": {
      "mod": ["node_modules/@types/mod/index.d.ts"]
    }
}

p.s: ikke prøv exclude eller typeRoots, de vil ikke gjøre det for deg