Skip to content

Releases: elixir-volt/oxc_ex

v0.13.0

14 May 19:20

Choose a tag to compare

Release v0.13.0

v0.12.1

11 May 09:23

Choose a tag to compare

Fixed

  • OXC.bundle/2 with sourcemap: true no longer fails when Rolldown omits the source map for empty bundle output (#4).

v0.12.0

05 May 18:59

Choose a tag to compare

Changed

  • Upgraded OXC toolchain from 0.117 to 0.129 — 12 releases of parser, transformer, minifier, and codegen improvements.
  • Upgraded OXC formatter from crates_v0.117.0 to crates_v0.129.0.
  • Upgraded OXC linter from crates_v0.117.0 to crates_v0.129.0 (oxc_linter 1.62.0).
  • Upgraded oxc_sourcemap from 6 to 6.1.

v0.11.0

24 Apr 15:17

Choose a tag to compare

Release 0.11.0

v0.10.0

21 Apr 12:07

Choose a tag to compare

Release v0.10.0

v0.9.1

21 Apr 09:20

Choose a tag to compare

Fixed

  • Enable JSX parsing for .js files in formatter, matching oxfmt CLI behavior. Fixes formatting failures on projects using JSX in .js files.

v0.9.0

21 Apr 07:15

Choose a tag to compare

Added

  • OXC.Format — Prettier-compatible JS/TS formatter via oxfmt NIF (~30× faster than Prettier). All oxfmt options supported.
  • OXC.Lint.run!/3 — bang variant that raises OXC.Error on parse errors.

Changed

  • Submodules use run/run! naming (OXC.Lint.run, OXC.Format.run).
  • OXC.Format.run!/3 raises OXC.Error instead of RuntimeError.

v0.8.0

20 Apr 17:16

Choose a tag to compare

Added

  • OXC.Lint.run/3 — lint JS/TS source with oxlint's 650+ built-in rules via a Rust NIF. Supports all oxlint plugins (react, typescript, unicorn, import, jsdoc, jest, vitest, jsx-a11y, nextjs, promise, node, vue) and configurable rule severities.
  • OXC.Lint.Rule behaviour — write custom lint rules in Elixir that operate on the parsed ESTree AST. Rules use OXC.walk/2, OXC.collect/2, or OXC.postwalk/3 for traversal and return diagnostics with spans.
  • Built-in and custom rules run together in a single OXC.Lint.run/3 call.

v0.7.2

16 Apr 13:35

Choose a tag to compare

Added

  • OXC.transform_many/2 — transform multiple files in parallel via a Rust rayon thread pool. Single NIF call, no BEAM scheduling overhead. 6.8x faster than sequential transform/3 on 2000 files.

v0.7.1

16 Apr 08:31

Choose a tag to compare

Fixed

  • Fix parse/2 hitting serde_json recursion limit on deeply nested ASTs (e.g. large bundled output from Vue + reka-ui). Uses streaming deserializer with unbounded depth.