# Volt v0.15.5 - Table of Contents > Elixir-native frontend build tool — dev server, HMR, and production builds powered by OXC and Vize. ## Pages - [Volt ⚡](readme.md) - [Changelog](changelog.md) - Introduction - [Getting Started](getting-started.md) - [Why Volt](why-volt.md) - Features - [Features](features.md) - [Frontend Frameworks](frameworks.md) - [Tailwind CSS](tailwind.md) - [Hot Module Replacement](hmr.md) - [Code Splitting](code-splitting.md) - [CSS Modules](css-modules.md) - [Static Assets](static-assets.md) - [Environment Variables](environment-variables.md) - [Glob Imports](glob-imports.md) - [Plugins](plugins.md) - [Formatting and Linting](formatting-and-linting.md) - [JavaScript and TypeScript Testing](testing.md) - Deployment - [Production Builds](production-builds.md) - Migration - [Migrating from esbuild](from-esbuild.md) - Cheatsheets - [Configuration](configuration.md) - [CLI](cli.md) ## Modules - [Volt.Builder.ManifestEntry](Volt.Builder.ManifestEntry.md): Manifest entry written to production `manifest.json`. - [Volt.CSS.Dependencies](Volt.CSS.Dependencies.md): Extracts and resolves local stylesheet dependencies. - [Volt.ChunkGraph.Chunk](Volt.ChunkGraph.Chunk.md): A JavaScript output chunk in the production dependency graph. - [Volt.JS.Check](Volt.JS.Check.md): Runs JavaScript/TypeScript formatting and lint checks. - [Volt.JS.Runtime.Installer.Metadata](Volt.JS.Runtime.Installer.Metadata.md): Package signature stored beside a JS runtime installation. - [Volt.Paths](Volt.Paths.md): Shared path conventions used by Volt. - [Volt.Pipeline.Result.Hashes](Volt.Pipeline.Result.Hashes.md): Content hashes for framework single-file component blocks. - [Volt.Plugin.EmbeddedModule.ID](Volt.Plugin.EmbeddedModule.ID.md): Parsed identity for an embedded query-module id. - Core - [Volt](Volt.md): Elixir-native frontend build tool. - [Volt.Config](Volt.Config.md): Read Volt configuration from application environment. - [Volt.Plugin](Volt.Plugin.md): Behaviour for Volt build plugins. - [Volt.Preload](Volt.Preload.md): Generate `` tags for production chunks. - Dev Server - [Volt.DevServer](Volt.DevServer.md): Plug that serves compiled frontend assets in development. - [Volt.HMR](Volt.HMR.md): Public helpers for broadcasting Volt HMR messages. - [Volt.Watcher](Volt.Watcher.md): File watcher that triggers recompilation, Tailwind rebuilds, and HMR updates. - Production Build - [Volt.Builder](Volt.Builder.md): Production build — resolve dependencies, split chunks, bundle, and write assets. - [Volt.Builder.Bundle](Volt.Builder.Bundle.md): In-memory JavaScript bundle returned from `Volt.Builder.bundle/1`. - [Volt.ChunkGraph](Volt.ChunkGraph.md): Build a chunk graph from module dependencies. - [Volt.PublicDir](Volt.PublicDir.md): Optional Vite-style public directory support. - Tailwind CSS - [Volt.Tailwind](Volt.Tailwind.md): Tailwind CSS integration — scan source files for candidates and compile CSS. - CSS - [Volt.CSS.Imports](Volt.CSS.Imports.md): Resolves and inlines local and package CSS `@import` rules before bundling. - [Volt.CSS.Modules](Volt.CSS.Modules.md): CSS Modules support for `.module.css` files. - Plugins - [Volt.Plugin.EmbeddedModule](Volt.Plugin.EmbeddedModule.md): A module embedded in a source file owned by a Volt plugin. - [Volt.Plugin.React](Volt.Plugin.React.md): Built-in React prebundle coordination for Volt dev mode. - [Volt.Plugin.Solid](Volt.Plugin.Solid.md): Solid JSX/TSX support for Volt. - [Volt.Plugin.Svelte](Volt.Plugin.Svelte.md): Built-in Svelte support for Volt. - [Volt.Plugin.Vue](Volt.Plugin.Vue.md) - [Volt.PluginRunner](Volt.PluginRunner.md): Execute Volt plugin hooks. - JavaScript - [Volt.Assets](Volt.Assets.md): Static asset handling — images, fonts, SVGs, and other non-code files. - [Volt.Env](Volt.Env.md): Load environment variables for client-side code. - [Volt.JS.Format](Volt.JS.Format.md): Loads JavaScript formatter configuration for oxfmt. - [Volt.JS.Runtime](Volt.JS.Runtime.md): Runs JavaScript build tools through QuickBEAM with package dependencies isolated from the user's application. - [Volt.Priv](Volt.Priv.md): Accesses browser support JavaScript and other runtime files from an OTP application's `priv` directory. - Formatting - [Volt.Formatter](Volt.Formatter.md): A `mix format` plugin that formats JavaScript and TypeScript files with oxfmt. - Testing - [Volt.Test.Assertions](Volt.Test.Assertions.md): Converts Volt JavaScript test runner results into ExUnit assertions. - [Volt.Test.BrowserRunner](Volt.Test.BrowserRunner.md): Executes Volt JavaScript and TypeScript tests inside a real browser via PlaywrightEx. - [Volt.Test.Case](Volt.Test.Case.md): ExUnit case template for inline Volt JavaScript and TypeScript assertions. - [Volt.Test.Config](Volt.Test.Config.md): Normalized Volt test runner configuration. - [Volt.Test.Discovery](Volt.Test.Discovery.md): Discovers JavaScript and TypeScript test files for the Volt test runner. - [Volt.Test.ExUnit](Volt.Test.ExUnit.md): Registers Volt JavaScript and TypeScript test files as ordinary ExUnit tests. - [Volt.Test.Inline](Volt.Test.Inline.md): Runs inline JavaScript and TypeScript snippets as Volt tests. - [Volt.Test.Lines](Volt.Test.Lines.md): Extracts source line numbers for JavaScript test declarations. - [Volt.Test.Plugin](Volt.Test.Plugin.md): Internal Volt plugin that exposes test-runner virtual modules. - [Volt.Test.Result](Volt.Test.Result.md): Defines the structured result contract returned by Volt JavaScript test runtimes. - [Volt.Test.Result.Metadata](Volt.Test.Result.Metadata.md): Metadata collected for a registered JavaScript test before execution. - [Volt.Test.Result.SerializedError](Volt.Test.Result.SerializedError.md): Serialized JavaScript error details returned by a failed test. - [Volt.Test.Result.Test](Volt.Test.Result.Test.md): Execution result for one registered JavaScript test. - [Volt.Test.Runner](Volt.Test.Runner.md): Executes Volt JavaScript and TypeScript test files in a QuickBEAM runtime. - [Volt.Test.Sigils](Volt.Test.Sigils.md): Convenience sigils for JavaScript, TypeScript, JSX, TSX, CSS, and HTML test fixtures. - Internals: Builder - [Volt.Builder.BuildContext](Volt.Builder.BuildContext.md): Options required while rendering production build output. - [Volt.Builder.Collector](Volt.Builder.Collector.md): Walks the dependency graph from entry files, collecting modules and workers. - [Volt.Builder.Collector.State](Volt.Builder.Collector.State.md): State accumulated while walking the production dependency graph. - [Volt.Builder.Context](Volt.Builder.Context.md): Shared build graph context used while collecting and compiling modules. - [Volt.Builder.Dependencies](Volt.Builder.Dependencies.md): Static and dynamic dependency lists for one collected module. - [Volt.Builder.Externals](Volt.Builder.Externals.md): Rewrite external imports into global variable access for production builds. - [Volt.Builder.Output](Volt.Builder.Output.md): Builds final production output files from compiled module graphs. - [Volt.Builder.OutputContext](Volt.Builder.OutputContext.md): Context passed to final JavaScript and CSS output rendering. - [Volt.Builder.OutputFile](Volt.Builder.OutputFile.md): Metadata for one generated production output file. - [Volt.Builder.Resolver](Volt.Builder.Resolver.md): Resolve import specifiers to absolute file paths for the build graph. - [Volt.Builder.Result](Volt.Builder.Result.md): Production build result returned from `Volt.Builder`. - [Volt.Builder.Rewriter](Volt.Builder.Rewriter.md): Rewrites production bundle imports, workers, externals, and chunk references. - [Volt.Builder.Writer](Volt.Builder.Writer.md): Writes production JavaScript, CSS, assets, sourcemaps, and manifests. - [Volt.HTMLEntry](Volt.HTMLEntry.md): Extract entry points from HTML files. - [Volt.Pipeline](Volt.Pipeline.md): Compile source files to browser-ready JavaScript and CSS. - [Volt.Pipeline.Result](Volt.Pipeline.Result.md): Compiled output returned by `Volt.Pipeline.compile/3`. - Internals: Config - [Volt.Config.Build](Volt.Config.Build.md): Normalized production build configuration. - [Volt.Config.Profile](Volt.Config.Profile.md): Profile argument parsing for Volt Mix tasks. - [Volt.Config.Server](Volt.Config.Server.md): Normalized development server configuration. - Internals: CSS - [Volt.CSS.AST](Volt.CSS.AST.md): Helpers for parser-backed CSS AST transforms. - [Volt.CSS.AssetURLRewriter](Volt.CSS.AssetURLRewriter.md): Parser-backed CSS asset URL rewriting for production builds. - [Volt.MIME](Volt.MIME.md): Central MIME/content-type helpers used by Volt. - Internals: Dev Server - [Volt.Cache](Volt.Cache.md): ETS-backed module cache keyed by path. - [Volt.DevServer.CacheEntry](Volt.DevServer.CacheEntry.md): Cached development-server compilation result. - [Volt.DevServer.Config](Volt.DevServer.Config.md): Resolved runtime configuration for the development server plug. - Internals: HMR - [Volt.HMR.Boundary](Volt.HMR.Boundary.md): Detects HMR boundaries from the dev module graph and source ASTs. - [Volt.HMR.GlobGraph](Volt.HMR.GlobGraph.md): Tracks `import.meta.glob()` ownership for HMR invalidation. - [Volt.HMR.ImportGraph](Volt.HMR.ImportGraph.md): ETS-backed raw import graph for HMR boundary fallback. - [Volt.HMR.Message](Volt.HMR.Message.md): JSON message sent over the HMR WebSocket protocol. - [Volt.HMR.ModuleGraph](Volt.HMR.ModuleGraph.md): ETS-backed dev-server module graph. - [Volt.HMR.ModuleGraph.Node](Volt.HMR.ModuleGraph.Node.md): A dev-server module graph node. - [Volt.HMR.Socket](Volt.HMR.Socket.md): WebSocket handler for HMR updates. - [Volt.HMR.StyleDependencies](Volt.HMR.StyleDependencies.md): Updates HMR stylesheet dependency state from compiled pipeline output. - [Volt.HMR.StyleGraph](Volt.HMR.StyleGraph.md): ETS-backed stylesheet dependency graph for HMR invalidation. - Internals: JavaScript - [Volt.Assets.Query](Volt.Assets.Query.md): Query helpers for asset module request modes. - [Volt.JS.AST](Volt.JS.AST.md): Helpers for matching and editing OXC JavaScript AST nodes. - [Volt.JS.Asset](Volt.JS.Asset.md): Compatibility accessors for JavaScript and TypeScript support assets bundled with Volt. - [Volt.JS.Extensions](Volt.JS.Extensions.md): JavaScript, TypeScript, CSS, and asset extension groups used by Volt. - [Volt.JS.Helpers](Volt.JS.Helpers.md): Shared JavaScript file discovery helpers for Mix tasks. - [Volt.JS.ImportExtractor](Volt.JS.ImportExtractor.md): Extracts static, dynamic, CJS, and worker imports from JavaScript source. - [Volt.JS.ImportExtractor.Result](Volt.JS.ImportExtractor.Result.md): Structured result returned by JavaScript import extraction. - [Volt.JS.Patch](Volt.JS.Patch.md): Small struct wrapper for source patches applied through OXC. - [Volt.JS.PrebundleEntry](Volt.JS.PrebundleEntry.md): Generates synthetic JavaScript entry modules for vendor prebundling. - [Volt.JS.PrebundleEntry.Export](Volt.JS.PrebundleEntry.Export.md): Export descriptor used by synthetic prebundle entries. - [Volt.JS.PrebundleEntry.Import](Volt.JS.PrebundleEntry.Import.md): Import descriptor used by synthetic prebundle entries. - [Volt.JS.Resolution](Volt.JS.Resolution.md): Shared JavaScript package resolution defaults. - [Volt.JS.Resolver](Volt.JS.Resolver.md): Import specifier resolution with alias support. - [Volt.JS.Runtime.Bundler](Volt.JS.Runtime.Bundler.md): Bundles QuickBEAM runtime entry files and their dependencies. - [Volt.JS.Runtime.Entry](Volt.JS.Runtime.Entry.md): Materializes JavaScript runtime entry assets for QuickBEAM. - [Volt.JS.Runtime.Error](Volt.JS.Runtime.Error.md): Error returned when a JavaScript runtime cannot be prepared or started. - [Volt.JS.Runtime.Installer](Volt.JS.Runtime.Installer.md): Installs isolated npm runtime packages for QuickBEAM-backed plugins. - [Volt.JS.Specifier](Volt.JS.Specifier.md): Helpers for JavaScript module specifier strings. - [Volt.JS.TSConfig](Volt.JS.TSConfig.md): Read `compilerOptions.paths` from `tsconfig.json` and convert to Volt aliases. - [Volt.JS.Transforms.AssetURLs](Volt.JS.Transforms.AssetURLs.md): Rewrites `new URL("./asset.ext", import.meta.url)` references to asset imports. - [Volt.JS.Transforms.DynamicImports](Volt.JS.Transforms.DynamicImports.md): Rewrites relative template-literal dynamic imports into import maps. - [Volt.JS.Transforms.DynamicImports.Replacement](Volt.JS.Transforms.DynamicImports.Replacement.md): Patch metadata for dynamic import variable replacements. - [Volt.JS.Transforms.GlobImports](Volt.JS.Transforms.GlobImports.md): Transforms `import.meta.glob()` calls into static import maps. - [Volt.JS.Transforms.GlobImports.Call](Volt.JS.Transforms.GlobImports.Call.md): Parsed `import.meta.glob` call options. - [Volt.JS.Transforms.GlobImports.File](Volt.JS.Transforms.GlobImports.File.md): Resolved file entry for `import.meta.glob` expansion. - [Volt.JS.Transforms.ImportMetaEnv](Volt.JS.Transforms.ImportMetaEnv.md): Injects `import.meta.env` values into JavaScript modules when referenced. - [Volt.JS.Transforms.Imports](Volt.JS.Transforms.Imports.md): Rewrite import specifiers in compiled JS output using AST positions. - [Volt.JS.Transforms.Specifiers](Volt.JS.Transforms.Specifiers.md): Rewrites JavaScript import and require specifiers while collecting resolved paths. - [Volt.JS.Transforms.Workers](Volt.JS.Transforms.Workers.md): Finds and rewrites `new Worker(new URL(..., import.meta.url))` module specifiers. - [Volt.JS.Vendor](Volt.JS.Vendor.md): Pre-bundle vendor (node_modules) dependencies for dev mode. - Internals: Support - [Volt.ETS](Volt.ETS.md): Small helpers for Volt's named ETS tables. - [Volt.Path](Volt.Path.md): Filesystem path helpers shared across Volt runtime modules. - [Volt.Tailwind.Loader](Volt.Tailwind.Loader.md): Handles Tailwind module loading, prebundling CJS graphs via OXC, and stylesheet resolution. - [Volt.Tailwind.Resolver](Volt.Tailwind.Resolver.md): Resolves stylesheet and module paths for the Tailwind runtime. - [Volt.URL](Volt.URL.md): Helpers for URL path, query, and fragment handling. - Internals: Plugin Options - [Volt.Plugin.Solid.CompilerOptions](Volt.Plugin.Solid.CompilerOptions.md): Solid compiler options encoded for the JavaScript runtime. - [Volt.Plugin.Solid.CompilerOptions.SolidOptions](Volt.Plugin.Solid.CompilerOptions.SolidOptions.md): Nested Solid preset options passed to Babel. - [Volt.Plugin.Svelte.CompilerOptions](Volt.Plugin.Svelte.CompilerOptions.md): Svelte compiler options encoded for the JavaScript runtime. ## Mix Tasks - Mix Tasks - [mix volt.build](Mix.Tasks.Volt.Build.md): Build production frontend assets. - [mix volt.dev](Mix.Tasks.Volt.Dev.md): Start the Volt file watcher for development. - [mix volt.install](Mix.Tasks.Volt.Install.md): Install and configure Volt in a Phoenix project - [mix volt.js.check](Mix.Tasks.Volt.Js.Check.md): Check formatting and lint Volt's JavaScript and TypeScript assets via NIF. - [mix volt.js.format](Mix.Tasks.Volt.Js.Format.md): Format Volt's JavaScript and TypeScript assets with oxfmt via NIF. - [mix volt.lint](Mix.Tasks.Volt.Lint.md): Lint project JavaScript and TypeScript assets using oxlint via NIF.