Releases: elixir-volt/volt
Releases · elixir-volt/volt
v0.9.1
v0.9.0
Added
- Added
Volt.entry_path/2for resolving source entries in development and hashed manifest assets in production. - Added built-in React prebundle coordination for React, React DOM client, and JSX runtime imports.
- Added plugin prebundle hooks for canonical dependency aliases and generated proxy entries.
- Added Vue, Svelte, and React example Phoenix apps.
- Added built-in Svelte support, including prebundle coordination for
svelteandsvelte/internal/clientthrough a single runtime bundle.
Changed
- Vendor prebundling now uses filesystem entries through OXC with browser conditions, named exports, and strict entry signatures.
- Updated dependencies to QuickBEAM 0.10.6 and OXC 0.11.0.
- Replaced the old demo app with focused framework examples.
Fixed
- Package imports using
#specifiers now resolve in both dev server rewriting and production builds. - Production entry paths now read Volt's manifest output through a first-class helper instead of requiring app-local layout helpers.
Volt 0.8.4
Fixed
- Tailwind CSS builds now resolve relative
@pluginand@importpaths correctly from the CSS file's directory (css_baseoption propagated from all callers). - QuickBEAM builtins (
fs,path,process, etc.) are now available to CJS vendor plugins loaded by the Tailwind runtime. - Bundled CJS plugins with
__esModule+.default(e.g. daisyui) are now unwrapped so Tailwind v4 receives the plugin function directly. mix igniter.install voltnow auto-detectsassets/js/app.jsvsassets/js/app.tsinstead of hardcoding.ts.
Volt 0.8.3
Fixed
mix igniter.install voltnow fully removes legacy esbuild and tailwind configuration:- Deletes
config :esbuildandconfig :tailwindblocks fromconfig/config.exsandconfig/dev.exs. - Removes
esbuild:andtailwind:watchers from the endpointwatcherslist inconfig/dev.exs. - Updates mix aliases so
assets.setup,assets.build, andassets.deployno longer reference removed tasks.
- Deletes
Changed
- Refactored
Mix.Tasks.Volt.Installfor readability: added module aliases, extracted predicate helpers, flattened nested control flow.
v0.8.2
Added
Volt.Formatter—mix formatplugin for JS/TSmix igniter.install voltnow addsVolt.Formatterto.formatter.exsautomatically
Fixed
- Dev server vendor pre-bundling — bare imports like
reactno longer 404 at/@vendor/ - CJS packages (React 19, etc.) bundled as ESM with
process.env.NODE_ENVresolved at compile time - Cross-package CJS
require()calls rewritten to ESM imports via AST
v0.8.1
v0.8.0
Added
mix volt.js.format— format JS/TS assets with oxfmt via NIF. No Node.js required.mix volt.js.check— format check + lint in one command via NIF.mix volt.install— Igniter-based project setup. Removes esbuild/tailwind, adds Volt config. Migrates Prettier config.config :volt, :format— Elixir-native format config.
Changed
- Replaced npx-based formatting/linting with NIF bindings.
- Renamed
mix volt.js.fmt→mix volt.js.format.
v0.7.1
v0.7.0
v0.6.5
Added
- Strip TypeScript types from Vue SFCs with
<script lang="ts">after Vize compilation - Resolve
import './types.js'to./types.tswhen the.jsfile doesn't exist (standard TS convention) - Resolve bare specifiers in directories without
package.json(e.g. Phoenix colocated hooks viaresolve_dirs: [Mix.Project.build_path()])
Fixed
- Fix Vue SFC compiler-injected
vueimports being externalized in SSR bundles — bare specifiers introduced by Vize are now resolved via a global fallback map - Fix JSON module imports crashing OXC.bundle —
.jsonlabels are renamed to.json.jsso Rolldown treats theexport defaultwrapper as JavaScript - Skip JSON files in import extraction (they have no imports)