mirror of
https://github.com/oxc-project/oxc.git
synced 2026-11-04 10:29:58 +00:00
Reading `object_name[..1]` panics when a ref-like identifier starts with a multibyte character, such as `한글Ref`. Use `.chars().next()` to preserve the ASCII name check without slicing through a UTF-8 character. Ports the fix and regression fixture from https://github.com/facebook/react/pull/38025. Fixes #28278.
Oxc React Compiler
oxc integration for the Rust port of the React Compiler.
Overview
This crate owns the oxc ↔ react_compiler_ast (Babel) conversion layer and runs the React
Compiler over an oxc AST, memoizing React components and hooks. The compiler core crates are
front-end agnostic (they never depend on oxc), so they are consumed from crates.io as a published
fork; the AST and scope conversion lives here, written against the live oxc AST.
Ambient TypeScript variable declarations are erased from compiled functions. Their references remain external values rather than runtime locals, hoisted bindings, or captured context.
API
compile— run the compiler and return aCompileResultwith the rewrite to apply (viaCompileOutput::transform) plus diagnostics.lint— report diagnostics only, without emitting code; each finding is tagged with itsErrorCategory.PluginOptions— configure which functions are compiled and how.