# Oxc Transform See [usage instructions](https://oxc.rs/docs/guide/usage/transformer). ## TypeScript and React JSX Transform ```javascript import assert from "assert"; import { transformSync } from "oxc-transform"; const { code, declaration, errors } = transformSync("test.ts", "class A {}", { typescript: { declaration: true, // With isolated declarations in a single step. }, }); // or `await transform(filename, code, options)` assert.equal(code, "class A {}\n"); assert.equal(declaration, "declare class A {}\n"); assert(errors.length == 0); ``` ## [Isolated Declarations for Standalone DTS Emit](https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/#isolated-declarations) Conforms to TypeScript compiler's `--isolatedDeclarations` `.d.ts` emit. ### Usage ```javascript import assert from "assert"; import { isolatedDeclarationSync } from "oxc-transform"; const { map, code, errors } = isolatedDeclarationSync("test.ts", "class A {}"); // or `await isolatedDeclaration(filename, code, options)` assert.equal(code, "declare class A {}\n"); assert(errors.length == 0); ``` ### API #### Transform Functions ```typescript // Synchronous transform transformSync( filename: string, sourceText: string, options?: TransformOptions, ): TransformResult // Asynchronous transform transform( filename: string, sourceText: string, options?: TransformOptions, ): Promise ``` #### Isolated Declaration Functions ```typescript // Synchronous isolated declaration isolatedDeclarationSync( filename: string, sourceText: string, options?: IsolatedDeclarationsOptions, ): IsolatedDeclarationsResult // Asynchronous isolated declaration isolatedDeclaration( filename: string, sourceText: string, options?: IsolatedDeclarationsOptions, ): Promise ``` Use the `Sync` versions for synchronous operations. Use async versions for asynchronous operations, which can be beneficial in I/O-bound or concurrent scenarios, though they add async overhead. See `index.d.ts` for complete type definitions. ### Supports WASM See https://stackblitz.com/edit/oxc-transform for usage example.