- Add
bundle_css/2— bundle a CSS file and all its@importdependencies into a single stylesheet via LightningCSS's Bundler. Reads files from disk, resolves imports recursively, wraps in@media/@supports/@layeras needed.
- Add
css_modules: trueoption tocompile_css/2— enables LightningCSS CSS Modules mode. Class names, IDs, keyframes, and custom identifiers are scoped, result includes:exportsmap of original → hashed names.
- Add
vapor_split/1— compiles a Vue template into a statics/slots split ready for%Phoenix.LiveView.Rendered{}. All HTML manipulation (tag tree parsing, element-to-tag mapping, marker injection, splitting) happens in the NIF. Sub-blocks forv-if/v-for/v-elseare recursively split.
- Precompiled NIF binaries via
RustlerPrecompiled(aarch64-apple-darwin, x86_64-apple-darwin, aarch64-unknown-linux-gnu, x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl)
- Add
compile_css/2— standalone LightningCSS pipeline with autoprefixing, minification, browser targeting, and Vue scoped styles
- Accept
filenameandscope_idoptions incompile_sfc/2 - Return
template_hash,style_hash,script_hashfor HMR change detection - Encode
key_propforv-for:keyattribute in Vapor IR
- Expose
is_staticflag andelement_template_mapin Vapor IR - Encode directive expressions (
v-show,v-model) in Vapor IR
- Initial release
compile_sfc/1— compile Vue SFCs to JavaScript + CSScompile_template/1— standalone template compilationcompile_vapor/1— Vapor mode compilationcompile_ssr/1— SSR compilationvapor_ir/1— Vapor IR as Elixir mapsparse_sfc/1— parse SFC descriptorlint/2— lint Vue SFCs