Build Options
Entry
config :volt, entry: "assets/js/app.ts"Entry file path or list of paths.
Output Directory
config :volt, outdir: "priv/static/assets"Root
config :volt, root: "assets"Source directory for asset resolution.
Sources
config :volt, sources: ["**/*.{js,ts,jsx,tsx,vue}"]Glob patterns for file discovery (formatting, linting).
Ignore
config :volt, ignore: ["node_modules/**", "vendor/**"]Target
config :volt, target: :es2020JS downlevel target.
Format
config :volt, format: :iifeOutput format: :iife, :esm, or :cjs.
Minify
config :volt, minify: trueHash
config :volt, hash: trueContent-hash filenames for cache busting.
Source Maps
config :volt, sourcemap: truetrue, :hidden (no URL comment), or false.
Code Splitting
config :volt, code_splitting: trueExternal
config :volt, external: ~w(phoenix phoenix_html)Exclude packages from the bundle.
Aliases
config :volt, aliases: %{"@" => "assets/src"}Import path aliases.
Chunks
config :volt, chunks: %{"vendor" => ["vue"]}Manual chunk boundaries.
Plugins
config :volt, plugins: [MyPlugin]Import Source
config :volt, import_source: "react"JSX import source for React.
Resolve Dirs
config :volt, resolve_dirs: ["node_modules", "deps"]Additional directories for bare import resolution.
Mode
config :volt, mode: :productionBuild mode for env variables. Override with --mode.
Vapor
config :volt, vapor: trueEnable Vue Vapor mode compilation.
Custom Renderer
config :volt, custom_renderer: trueTreat non-HTML tags as renderer-native elements (for PhoenixVapor).
Loaders
config :volt, loaders: %{".js" => "jsx"}Override file type parsing (e.g. for React projects using JSX in .js files).
Tailwind Options
CSS Input
config :volt, tailwind: [css: "assets/css/app.css"]Scan Sources
config :volt, tailwind: [
sources: [
%{base: "lib/", pattern: "**/*.{ex,heex}"},
%{base: "assets/", pattern: "**/*.{vue,ts,tsx}"}
]
]Dev Server Options
Prefix
config :volt, :server, prefix: "/assets"URL prefix for dev server routes.
Watch Dirs
config :volt, :server, watch_dirs: ["lib/", "assets/"]Directories to watch for HMR.
Formatting Options
Semi
config :volt, :format, semi: falseSingle Quote
config :volt, :format, single_quote: truePrint Width
config :volt, :format, print_width: 100Trailing Comma
config :volt, :format, trailing_comma: :noneArrow Parens
config :volt, :format, arrow_parens: :alwaysLint Options
Plugins
config :volt, :lint, plugins: [:typescript, :react]Rules
config :volt, :lint, rules: %{"eqeqeq" => :deny}Custom Rules
config :volt, :lint, custom_rules: [
{MyApp.NoConsoleLog, :warn}
]