angularjs - TS6059 i ignorerad katalog


Jag har en tsconfig.json-fil med följande:

{"compilerOptions": {                                                                         
    "module": "commonjs",                                                                    
    "noImplicitAny": false,                                                                  
    "removeComments": true,                                                                  
    "preserveConstEnums": true,                                                              
    "outDir": "./target/src/",                                                               
    "rootDir": "./src/main/webapp/",                                                         
    "sourceMap": true,                                                                       
    "experimentalDecorators": true                                                           
},                                                                                           
    "exclude": ["node_modules", "target"]  
}

När jag kör tsc får jag felet:

fel TS6059: Filen '../node_modules/ng2-select/components/ng2-select-config.ts' är inte under 'rootDir' 'main/webapp'. 'rootDir' förväntas innehålla alla källfiler.

Skurken verkar vara när jag försöker ladda ng2-select i en fil:

import {Component} from 'angular2/core';
import {select} from 'ng2-select';

Om jag kör tsc utan den andra importen är det okej. Om jag lägger till den andra får jag det felet.

Några idéer om varför det försöker kompilera ng2-select trots att det borde ignoreras?

Tack!

Svar #1

Detta är antingen ett problem med strukturen hos ng2-select-modulen eller en bugg i TypeScript-kompilatorn.

Problemet orsakas av att ha .ts och .d.ts-filer i samma katalog som varandra inom modulens katalog som du försöker ladda från. Detta verkar få TypeScript-kompilatorn att kompilera om modulen och sedan bli förvirrad eftersom den kompilerade något utanför rootDir.

Jag har haft samma problem och har tagit upp det på modulens GitHub-repositorium. Det här svaret kan hjälpa dig för tillfället även om det inte är idealiskt. Förhoppningsvis kommer det en lösning snart.

Uppdatering

Den senaste versionen åtgärdar detta problem.