Skip to content

Releases: elixir-volt/oxc_ex

v0.17.3

Choose a tag to compare

@github-actions github-actions released this 13 Jul 23:24
OXC 0.17.3

v0.17.2

Choose a tag to compare

@github-actions github-actions released this 07 Jul 15:38

Added

  • OXC.Bundle.Output now exposes Rolldown module_ids for generated chunks, enabling downstream tools to map emitted chunks back to source modules.

v0.17.1

Choose a tag to compare

@github-actions github-actions released this 19 Jun 15:21

Added

  • Add :dynamic_import_templates selector for template-literal dynamic import(...) expressions.
  • Add :require_calls selector for CommonJS require("...") calls.

v0.17.0

Choose a tag to compare

@github-actions github-actions released this 19 Jun 12:42

Breaking changes

  • Remove OXC.imports/2, OXC.imports!/2, OXC.collect_imports/2, and OXC.collect_imports!/2; use OXC.select/3 with selector atoms instead.

Added

  • Add OXC.select/3 for compact parser-backed event selection.
  • Add selector atoms for import sources, import specifiers, asset URLs, workers, glob imports, and import.meta.env references.

Changed

  • OXC.rewrite_specifiers/3 now uses parser-backed selector events internally.
  • Native import/source-reference selection now uses the shared rustler_match_spec crate.

Fixed

  • Recognize generated {}.url bases when selecting worker URL references from bundled output.

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 17 Jun 15:56

Added

  • Add OXC.Bundle, a composable bundling pipeline that returns all Rolldown chunks and assets from multi-entry builds.
  • Add bundle output metadata for generated chunks, assets, imports, dynamic imports, exports, sourcemaps, and optional output paths.

Changed

  • Upgrade Rolldown bundling dependencies to 1.1.
  • Decode native options directly from BEAM maps instead of routing through serde_json.

Fixed

  • Prevent serde_json::Number internals from leaking into parsed AST terms when dependencies enable arbitrary-precision JSON numbers.
  • Fix code generation for if statements with nil alternate branches.

v0.15.1

Choose a tag to compare

@github-actions github-actions released this 22 May 10:41

Fixed

  • OXC.Lint.run/2 now reports nonzero tsgolint exits with stderr output, including panics from unsupported input files, instead of treating empty or malformed output as a clean type-aware lint result.

Links

Includes precompiled NIF archives for parser/bundler, lint, and formatter targets.

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 21 May 18:19

Added

  • Added type-aware TypeScript linting via OXC.Lint.run/2 with type_aware: true, powered by tsgolint headless mode.
  • Supports type_check, source_overrides, fixes, suggestions, and normalized diagnostics for type-aware runs.
OXC.Lint.run(["lib/app.ts"],
  type_aware: true,
  tsgolint: "tsgolint",
  type_check: true,
  rules: %{"typescript/no-floating-promises" => :deny}
)

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 21 May 17:30

Added

  • Source-taking APIs now accept iodata() across parse, transform, minify, import collection, lint, format, source patching, and virtual bundle inputs.

Changed

  • OXC.patch_string/2 now builds patched output with iodata internally before flattening once.
  • Virtual bundle file sources are streamed from iodata directly into temporary files instead of being flattened first.

Fixed

  • Lint category filters (for example, "correctness" => :deny) now return the configured severity instead of always :warn.

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 14 May 19:20

Added

  • module_types option for OXC.bundle/2 — map file extensions to loaders (:empty, :dataurl, :base64, :binary, :text, :css, :asset, etc.). Unblocks bundling packages that import binary files like fonts from CSS.

Changed

  • Upgraded OXC crates from 0.129 to 0.130.
  • Removed unused Cargo dependencies (oxc_resolver, oxc_transformer_plugins).
  • mix lint / mix ci now checks clippy and rustfmt for all three NIF crates.

Fixed

  • Resolved all clippy warnings under -D warnings.

v0.12.1

Choose a tag to compare

@github-actions github-actions released this 11 May 09:23

Fixed

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