Releases: elixir-volt/vize_ex
Releases · elixir-volt/vize_ex
v0.11.1
v0.11.0
Breaking
- Bump upstream Vize crates 0.76 → 0.109.
- CSS APIs are namespaced under
Vize.CSS; root-levelcompile_css/2,bundle_css/2, and AST helpers are deprecated compatibility delegates. - CSS AST printing uses
Vize.CSS.print_ast/2; the earlier localgenerate_css_from_astnaming was dropped before release.
Added
- Add
Vize.CSS.parse_ast/2andVize.CSS.parse_ast!/2— parse CSS into a LightningCSS-backed AST represented as Elixir maps/lists. - Add
Vize.CSS.print_ast/2andVize.CSS.print_ast!/2— print CSS from a transformed AST. - Add
Vize.CSS.walk/2,prewalk/2,prewalk/3,postwalk/2,postwalk/3, andcollect/2for OXC-style AST traversal. - Add strict Reach checks to CI:
reach.check --dead-code --smells --strict.
Changed
- Update dev/test tooling: Credo, ExDNA, ExDoc, ExSlop, Jason, and Reach.
- Encode/decode CSS AST values across the NIF boundary as BEAM terms instead of JSON strings.
v0.10.0
What's new
- Bump upstream Vize crates 0.43 → 0.76
- Add
:custom_rendereroption tocompile_sfc/2— treats lowercase non-HTML tags as renderer-native elements instead of Vue components - Add
:strip_typesoption tocompile_sfc/2— strips TypeScript type annotations via OXC, returning plain JavaScript in a single NIF call compile_sfc/2result now includes:macro_artifacts— compile-time macro artifacts extracted from script blocks (definePage,definePageMeta, etc.)- Add
generate_dts/2— generates.d.tsdeclarations from SFC script analysis - Fix
:end_atom →:endin loc maps and macro artifacts
v0.9.0
v0.9.0
v0.8.0
Bump v0.8.0 — CSS bundler with @import resolution
v0.7.0
Bump v0.7.0 — CSS Modules support in compile_css New option `css_modules: true` in `Vize.compile_css/2` enables LightningCSS CSS Modules mode. Class names, IDs, keyframes, and other identifiers are scoped, and the result includes an `:exports` map of original → hashed names. Uses dannote/vize fork (branch css-modules) for vize_atelier_sfc until ubugeeei/vize#123 is merged upstream.
v0.6.0
Bump v0.6.0 — vapor_split/1 statics/slots split
v0.5.0
Limit precompiled targets to the 5 we actually build
v0.4.0
Added
compile_css/2andcompile_css!/2— standalone CSS compilation via LightningCSS- Parse, autoprefix, and minify CSS independently of SFC compilation
- Vue scoped CSS transformation (
:scoped,:scope_id) v-bind()variable extraction- Browser targeting (
:chrome,:firefox,:safari)
v0.3.0
What's new
compile_sfc/2
:filenameoption — pass the SFC filename for stable scoped CSSdata-v-xxxxattributes and source maps:scope_idoption — explicit scope ID override for scoped CSS- Content hashes —
template_hash,style_hash,script_hashreturned in the result for HMR change detection
{:ok, result} = Vize.compile_sfc(source, filename: "App.vue")
result.template_hash # "de5ddf78a0f8d31a"
result.style_hash # "3efafd39ec9747f9"
result.script_hash # "1a8dae0fef50c189"Vapor IR
- v-for
:keyattribute —key_propnow encoded in the IR for v-for nodes