Emissão de declarações isoladas
O transformador Oxc pode emitir declarações TypeScript sem passar pelo compilador TypeScript em projetos com isolated declarations.
Exemplo
Entrada:
ts
export function foo(a: number, b: string): number {
return a + Number(b);
}
export enum Bar {
a,
b,
}Saída:
ts
export declare function foo(a: number, b: string): number;
export declare enum Bar {
a = 0,
b = 1,
}Uso
ts
import { isolatedDeclaration } from "oxc-transform";
const result = await isolatedDeclaration("lib.ts", sourceCode, {
sourcemap: false,
stripInternal: false,
});
console.log(result.code); // conteúdo .d.ts
console.log(result.map); // source map (se sourcemap ligado)
console.log(result.errors); // erros de parse/transformaçãoTambém existe a variante síncrona isolatedDeclarationSync com a mesma assinatura.