Releases: elixir-volt/volt
Releases · elixir-volt/volt
v0.11.3
v0.11.2
v0.11.1
Added
module_typesconfig option — maps file extensions to bundler loaders (e.g.%{".css" => :empty, ".ttf" => :empty}). Passed to both production builds and vendor prebundling. Useful for packages like Monaco Editor that import non-JS files.
Changed
- Upgraded OXC to 0.13 and QuickBEAM to 0.10.13.
v0.11.0
Added
- Named configuration profiles for multi-app and umbrella support. Use
config :volt, :my_app_web, [...]to define per-app configs, and pass the profile name to Mix tasks (mix volt.build my_app_web) and the dev server plug (plug Volt.DevServer, profile: :my_app_web). The existing flatconfig :voltformat continues to work unchanged.
v0.10.9
v0.10.8
v0.10.7
Added
- Vendor prebundling and dev-server on-demand bundling now honor
resolve_dirs, allowing bare imports to resolve from additional module directories such as Phoenix's_build/$MIX_ENV/phoenix-colocatedoutput. - Documented the Phoenix LiveView colocated JavaScript setup for projects migrating from esbuild's
NODE_PATHconfiguration.
Changed
- Upgraded the Tailwind CSS runtime package requirement to
^4.3.0. mix cinow runs the test suite throughenv MIX_ENV=test, which works with newer Mix versions.
Fixed
- Additional resolve directories now support package-like folders without
package.json, including subpath imports such asphoenix-colocated/my_app.
v0.10.6
Added
- Dev server output now supports
import.meta.envruntime access for modules that reference it, includingMODE,DEV,PROD, and exposedVOLT_*values.
Fixed
Volt.entry_path/2now resolves production manifests written bymix volt.buildunderpriv/static/assets/js, returns/assets/js/...paths, and passes them through Phoenixstatic_path/1forphx.digestcompatibility.- Production entry path lookup now resolves relative
priv/...output directories through the endpoint OTP app, matching Phoenix release behavior.
v0.10.5
Added
- Solid JSX/TSX support via
Volt.Plugin.Solid. Runsbabel-preset-solidthrough QuickBEAM — no Node.js required. Enable withplugins: [Volt.Plugin.Solid]in Volt config. - Solid example app under
examples/solid.
Changed
- Upgraded QuickBEAM to 0.10.12.
Fixed
- Tailwind plugins using
fs.readFileSync(path).toString()(likeheroicons.js) now produce correct UTF-8 strings instead of comma-separated ASCII char codes.
v0.10.4
Fixed
- CSS files imported from JavaScript (
import './style.css') are now served as JavaScript modules that inject styles at runtime, matching Vite's behavior. Previously the dev server returnedtext/css, which browsers rejected as an invalid ES module MIME type. - CSS Modules (
.module.css) are now served as JavaScript in the dev server regardless of how they are requested, fixing silent failures when importing CSS modules from JS. - CSS import specifiers in JS are rewritten to
?importURLs so the dev server can distinguish stylesheet requests from JS module imports and serve each with the correct content type.
Added
updateStyleandremoveStylehelpers in the HMR client for injecting and removing<style>tags by module ID.- HMR style updates now refresh injected CSS import modules in addition to
<link>stylesheet tags.