You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
env_prefix config for choosing which .env variables are exposed through import.meta.env, including Vite-compatible prefixes like "VITE_".
asset_url_prefix config and mix volt.build --asset-url-prefix for changing production JavaScript and CSS asset URLs without changing Phoenix output paths.
Production chunk manifests now include richer chunk metadata: imports, dynamicImports, chunk-local css, and emitted assets.
Plugin embedded_modules/3 hook for exposing JavaScript-like scripts embedded in custom file formats.
Changed
Upgraded oxc to 0.15.1, quickbeam to 0.10.15, and reach to 2.6.1.
mix volt.js.check now supports --type-aware and --type-check for TypeScript-aware linting through tsgolint.
Type-aware checks now analyze Vue and Svelte component scripts via plugin-provided virtual modules while leaving templates on the normal syntax lint path.
Production builds now tree-shake JavaScript by default, with tree_shaking: false and mix volt.build --no-tree-shaking available to preserve unused exports.
Code-split dynamic imports now preload dependency chunks and chunk-local CSS when doing so avoids loading waterfalls.
Code-split production builds now preserve dynamic import facades, rewrite chunk imports by exact resolved specifier, and avoid worker filename collisions.
HMR boundary lookup now uses a served module graph, with a dedicated glob graph for import.meta.glob() invalidation.
HMR updates now support self-accepting modules, dependency accept callbacks, multi-dependency accept callbacks, disposal data, CSS import updates, and full-reload fallback more closely to Vite's behavior.
Production builds now write the final merged manifest once after all entries are built.
Production JavaScript asset URL imports now emit hashed files and include them in manifest asset metadata.
Worker build failures now fail the parent build instead of being ignored.
JavaScript runtime installs now validate package signatures for reused install directories, and named runtimes reject option mismatches.
glob_ex is now a direct dependency for HMR glob invalidation.
Volt now dogfoods type-aware JavaScript checks in mix lint.
Breaking changes
Custom plugins that return {:proxy, filename, opts} from prebundle_entry/1 must use Volt.JS.PrebundleEntry.Import and Volt.JS.PrebundleEntry.Export entries for :imports and :exports; plain map entries are no longer accepted.
Custom extract_imports/3 plugin callbacks must return {:ok, %Volt.JS.ImportExtractor.Result{}} instead of plain maps.