typescript - Hur man hämtar `CompilerOptions` från `tsconfig.json`
Jag arbetar med TypeScript-kompilatorns API. När jag initierar ett program blir jag ombedd att ange ett CompilerOptions-objekt. Jag vill använda CompilerOptions för en given tsconfig.json-fil, men jag kan inte riktigt lista ut vilket som är rätt sätt att få detta.
Jag tror att jag ska använda parseJsonConfigFileContent men det behöver också en ParseConfigHost. De säger att det är lätt att implementera själv, men särskilt metoden readDirectory verkar ganska komplicerad att implementera själv. Såvitt jag kan se behöver du returnera alla TypeScript-filer i en viss katalog, med hänsyn till excludes och includes.
Säkerligen gör TypeScript detta internt någonstans redan. Hur kan jag använda standard readDirectory eller ParseConfigHost?
Formulerat på ett annat sätt: vad är det enklaste sättet att få CompilerOptions för ett givet TypeScript-projekt?
Svar #1
Med följande kod kunde jag enkelt läsa kompilatoralternativen.
Jag vet ännu inte om detta har några begränsningar, men det verkar fungera bra och det använder bara saker som Typescript själv tillhandahåller:
const configFileName = ts.findConfigFile(
"./",
ts.sys.fileExists,
"tsconfig.json"
);
const configFile = ts.readConfigFile(configFileName, ts.sys.readFile);
const compilerOptions = ts.parseJsonConfigFileContent(
configFile.config,
ts.sys,
"./"
);
