nonara / ts-patch

Augment the TypeScript compiler to support extended functionality
MIT License
740 stars 26 forks source link

Docs: Please specify propery type for ts.TransformerFactory in the entry-point and example #147

Open bogeeee opened 6 months ago

bogeeee commented 6 months ago

In the readme, it says (program: ts.Program, config: PluginConfig, extras: TransformerExtras) => ts.TransformerFactory which is read as ts.TransformerFactory<any> but that's wrong imho because the type param / shouldn't be any

Also the example gives me a type error, when i try to specify it either via, what's in the readme

export default function(program: ts.Program, pluginConfig: PluginConfig, { ts: tsInstance }: TransformerExtras): (context: ts.TransformationContext) => (sourceFile: ts.SourceFile) => ts.SourceFile {
    ...
}

or via (taken from other projects):

export default function(program: ts.Program, pluginConfig: PluginConfig, { ts: tsInstance }: TransformerExtras): ts.TransformerFactory<ts.SourceFile> {
    ...
}

or as returning ts.TransformerFactory<ts.Node> ... nothing works.

So this is rather unclear for a new user, what type should be returned. Thx !