tsconfig - typescript kompilerer typer under node_modules selv etter å ha ekskludert dem
Mens jeg prøver å kompilere TypeScript-kildekoden min, ser jeg at kompilatoren også prøver å kompilere typene under node_modules-mappen min. Jeg bruker TypeScript 2.6.1, og tsconfig-filen min er som nedenfor
{
"compilerOptions": {
"allowSyntheticDefaultImports":true,
"outDir": "./dist",
"mapRoot": "./dist",
"module": "commonjs",
"target": "es6",
"sourceMap": true,
"sourceRoot": "./source",
"removeComments": false
},
"exclude": [
"node_modules",
"test"
],
"include": [
"source/*.ts"
]
}
Når jeg kjører følgende kommando "tsc -w -p tsconfig.json", får jeg følgende feil
node_modules/@types/es6-promise/index.d.ts(11,15): error TS2300: Duplicate identifier 'Promise'.
Svar #1
Etter å ha lest dette dokumentet, fikk jeg svaret https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
under seksjon @types, typeRoots og types
De har nevnt
Angi "types": [] for å deaktivere automatisk inkludering av @types-pakker.
Den oppdaterte tsconfig.json er som følger
{
"compilerOptions": {
"allowSyntheticDefaultImports":true,
"outDir": "./dist",
"mapRoot": "./dist",
"module": "commonjs",
"target": "es6",
"sourceMap": true,
"sourceRoot": "./source",
"removeComments": false,
"types": []
},
"exclude": [
"node_modules",
"test"
],
"include": [
"source/*.ts"
]
}
