Releases: elixir-volt/oxc_ex
Releases · elixir-volt/oxc_ex
Release list
v0.17.3
v0.17.2
Added
OXC.Bundle.Outputnow exposes Rolldownmodule_idsfor generated chunks, enabling downstream tools to map emitted chunks back to source modules.
v0.17.1
Added
- Add
:dynamic_import_templatesselector for template-literal dynamicimport(...)expressions. - Add
:require_callsselector for CommonJSrequire("...")calls.
v0.17.0
Breaking changes
- Remove
OXC.imports/2,OXC.imports!/2,OXC.collect_imports/2, andOXC.collect_imports!/2; useOXC.select/3with selector atoms instead.
Added
- Add
OXC.select/3for compact parser-backed event selection. - Add selector atoms for import sources, import specifiers, asset URLs, workers, glob imports, and
import.meta.envreferences.
Changed
OXC.rewrite_specifiers/3now uses parser-backed selector events internally.- Native import/source-reference selection now uses the shared
rustler_match_speccrate.
Fixed
- Recognize generated
{}.urlbases when selecting worker URL references from bundled output.
v0.16.0
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::Numberinternals from leaking into parsed AST terms when dependencies enable arbitrary-precision JSON numbers. - Fix code generation for
ifstatements with nilalternatebranches.
v0.15.1
Fixed
OXC.Lint.run/2now reports nonzerotsgolintexits with stderr output, including panics from unsupported input files, instead of treating empty or malformed output as a clean type-aware lint result.
Links
- Hex package: https://hex.pm/packages/oxc/0.15.1
- Documentation: https://hexdocs.pm/oxc/0.15.1
Includes precompiled NIF archives for parser/bundler, lint, and formatter targets.
v0.15.0
Added
- Added type-aware TypeScript linting via
OXC.Lint.run/2withtype_aware: true, powered bytsgolintheadless 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
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/2now 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
Added
module_typesoption forOXC.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 cinow checks clippy and rustfmt for all three NIF crates.
Fixed
- Resolved all clippy warnings under
-D warnings.
v0.12.1
Fixed
OXC.bundle/2withsourcemap: trueno longer fails when Rolldown omits the source map for empty bundle output (#4).