TypeScript-kompilator API - Tillgång till utdata från kompilatorns steg
Är det möjligt att "binda" anpassade pluginer till olika TS-stadier eller att kalla dessa stadier med TS API? Det bästa sättet skulle vara att ha fullständig kontroll över transpilationsprocessen.
Det jag menar är att man i idealfallet ska ha en TypeScript-kod som en stränginput, skicka den till parsaren, få AST-trädet, analysera/modifiera det, skicka det till TypeChecker, utföra anpassade åtgärder på det kontrollerade AST:t (dokumentationsgenerering, statisk kodanalys, kodoptimering, tree shaking, eliminering av död kod, minifiering, anpassade transformationer) och emitera det.
Såvitt jag vet är det inte ett problem att konstruera AST från sträng. Jag vet också att följande steg är lätt anpassningsbara, dvs. implementering av egna transformationer inklusive den slutliga genereringen av utdata.
Men jag hittade inget sätt att typenkontrollera den anpassade filen (inte internt bearbetad och tillagd i programkontexten), dvs. att lägga till den parsade AST:n till programmet (i form av sourceFile) och arbeta med den som om den skulle ha lagts till internt av programbehandlingen.
Finns det ett sätt att låta kompilatorn typtesta en anpassad AST-träd som parsats 'externt'?