Skip to content

Transformer

Высокопроизводительный трансформер: переписывает неподдерживаемый синтаксис в вид, понятный целевым средам.

Возможности

Общие опции

Функция transform принимает имя файла, исходный код и объект опций:

js
import { transform } from "oxc-transform";

const result = await transform("lib.ts", sourceCode, {
  // Явный язык. По умолчанию выводится из расширения файла.
  lang: "tsx", // "js" | "jsx" | "ts" | "tsx" | "dts"

  // script / module / CommonJS. По умолчанию определяется автоматически.
  sourceType: "module", // "script" | "module" | "commonjs" | "unambiguous"

  // Текущая рабочая директория для относительных путей.
  cwd: "/path/to/project",

  // Генерация source map.
  sourcemap: true,

  // Стратегия для runtime-хелперов.
  helpers: {
    mode: "Runtime", // "Runtime" (импорт из @oxc-project/runtime) или "External" (глобальный babelHelpers)
  },

  // См. подстраницы: typescript, jsx, target, assumptions, define, inject, decorator, plugins
});

transform асинхронная; есть синхронная transformSync с тем же контрактом.

Установка

Node.js

Rust

Crate oxc с фичей transformer.

Пример: crates/oxc_transformer/examples/transformer.rs.

Интеграции