Skip to content

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ção

Também existe a variante síncrona isolatedDeclarationSync com a mesma assinatura.