# Volt v0.13.1 - 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)

- 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.ChunkGraph.Chunk](Volt.ChunkGraph.Chunk.md): A JavaScript output chunk in the production dependency graph.
- [Volt.JS.Runtime.Installer.Metadata](Volt.JS.Runtime.Installer.Metadata.md): Package signature stored beside a JS runtime installation.
- [Volt.Pipeline.Result.Hashes](Volt.Pipeline.Result.Hashes.md): Content hashes for framework single-file component blocks.

- 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 `<link rel="modulepreload">` tags for production chunks.

- Dev Server
  - [Volt.DevServer](Volt.DevServer.md): Plug that serves compiled frontend assets in development.
  - [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.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.Modules](Volt.CSS.Modules.md): CSS Modules support for `.module.css` files.

- Plugins
  - [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.

- Formatting
  - [Volt.Formatter](Volt.Formatter.md): A `mix format` plugin that formats JavaScript and TypeScript files with oxfmt.

- 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.

- 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.

- 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): Access to 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.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.

