Skip to content

Releases: elixir-volt/vize_ex

v0.11.1

20 May 12:38

Choose a tag to compare

  • Bump upstream Vize crates to 0.112
  • Fix CSS AST print round-trip for image-set(...)

v0.11.0

19 May 13:52

Choose a tag to compare

Breaking

  • Bump upstream Vize crates 0.76 → 0.109.
  • CSS APIs are namespaced under Vize.CSS; root-level compile_css/2, bundle_css/2, and AST helpers are deprecated compatibility delegates.
  • CSS AST printing uses Vize.CSS.print_ast/2; the earlier local generate_css_from_ast naming was dropped before release.

Added

  • Add Vize.CSS.parse_ast/2 and Vize.CSS.parse_ast!/2 — parse CSS into a LightningCSS-backed AST represented as Elixir maps/lists.
  • Add Vize.CSS.print_ast/2 and Vize.CSS.print_ast!/2 — print CSS from a transformed AST.
  • Add Vize.CSS.walk/2, prewalk/2, prewalk/3, postwalk/2, postwalk/3, and collect/2 for 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

03 May 17:46

Choose a tag to compare

What's new

  • Bump upstream Vize crates 0.43 → 0.76
  • Add :custom_renderer option to compile_sfc/2 — treats lowercase non-HTML tags as renderer-native elements instead of Vue components
  • Add :strip_types option to compile_sfc/2 — strips TypeScript type annotations via OXC, returning plain JavaScript in a single NIF call
  • compile_sfc/2 result now includes :macro_artifacts — compile-time macro artifacts extracted from script blocks (definePage, definePageMeta, etc.)
  • Add generate_dts/2 — generates .d.ts declarations from SFC script analysis
  • Fix :end_ atom → :end in loc maps and macro artifacts

https://hex.pm/packages/vize/0.10.0

v0.9.0

09 Apr 09:36

Choose a tag to compare

v0.9.0

v0.8.0

17 Mar 14:02

Choose a tag to compare

Bump v0.8.0 — CSS bundler with @import resolution

v0.7.0

17 Mar 12:16

Choose a tag to compare

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

12 Mar 10:19

Choose a tag to compare

Bump v0.6.0 — vapor_split/1 statics/slots split

v0.5.0

12 Mar 06:51

Choose a tag to compare

Limit precompiled targets to the 5 we actually build

v0.4.0

12 Mar 05:43

Choose a tag to compare

Added

  • compile_css/2 and compile_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

12 Mar 04:43

Choose a tag to compare

What's new

compile_sfc/2

  • :filename option — pass the SFC filename for stable scoped CSS data-v-xxxx attributes and source maps
  • :scope_id option — explicit scope ID override for scoped CSS
  • Content hashestemplate_hash, style_hash, script_hash returned 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 :key attributekey_prop now encoded in the IR for v-for nodes