Vite · Schema
Vite InlineConfig
Inline configuration object passed to Vite's programmatic API functions such as createServer(), build(), and preview().
Build ToolsBundlerDevelopment ServerESMFrontendHot Module ReplacementJavaScriptPlugin APITypeScriptVite
Properties
| Name | Type | Description |
|---|---|---|
| root | string | Project root directory. Can be an absolute path or a path relative to the current working directory. |
| base | string | Base public path when served in development or production. Must start and end with /. |
| mode | string | The mode to run in. 'development' enables HMR and source maps; 'production' enables optimizations. |
| define | object | Define global constant replacements. Values are replaced as-is during build. |
| plugins | array | Array of Vite plugins to use. |
| publicDir | string | Directory to serve as plain static assets. Files in this directory are served at / during development. |
| cacheDir | string | Directory to save pre-bundled dependencies and other cache files. |
| server | object | |
| build | object | |
| preview | object | |
| optimizeDeps | object | Dependency pre-bundling options. |
| envDir | string | Directory from which .env files are loaded. |
| envPrefix | object | Prefix that env variables must have to be exposed to client code. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/vite/refs/heads/main/json-schema/vite-inline-config-schema.json",
"title": "Vite InlineConfig",
"description": "Inline configuration object passed to Vite's programmatic API functions such as createServer(), build(), and preview().",
"type": "object",
"properties": {
"root": {
"type": "string",
"description": "Project root directory. Can be an absolute path or a path relative to the current working directory."
},
"base": {
"type": "string",
"description": "Base public path when served in development or production. Must start and end with /.",
"default": "/"
},
"mode": {
"type": "string",
"description": "The mode to run in. 'development' enables HMR and source maps; 'production' enables optimizations.",
"enum": ["development", "production", "test"]
},
"define": {
"type": "object",
"description": "Define global constant replacements. Values are replaced as-is during build.",
"additionalProperties": {
"type": "string"
}
},
"plugins": {
"type": "array",
"description": "Array of Vite plugins to use.",
"items": {
"type": "object"
}
},
"publicDir": {
"type": "string",
"description": "Directory to serve as plain static assets. Files in this directory are served at / during development.",
"default": "public"
},
"cacheDir": {
"type": "string",
"description": "Directory to save pre-bundled dependencies and other cache files.",
"default": "node_modules/.vite"
},
"server": {
"$ref": "#/$defs/ServerOptions"
},
"build": {
"$ref": "#/$defs/BuildOptions"
},
"preview": {
"$ref": "#/$defs/PreviewOptions"
},
"optimizeDeps": {
"type": "object",
"description": "Dependency pre-bundling options.",
"properties": {
"entries": {
"oneOf": [
{"type": "string"},
{"type": "array", "items": {"type": "string"}}
],
"description": "Explicit entry points for dependency scanning."
},
"exclude": {
"type": "array",
"items": {"type": "string"},
"description": "Dependencies to exclude from pre-bundling."
},
"include": {
"type": "array",
"items": {"type": "string"},
"description": "Dependencies to force-include in pre-bundling."
}
}
},
"envDir": {
"type": "string",
"description": "Directory from which .env files are loaded.",
"default": "root"
},
"envPrefix": {
"oneOf": [
{"type": "string"},
{"type": "array", "items": {"type": "string"}}
],
"description": "Prefix that env variables must have to be exposed to client code.",
"default": "VITE_"
}
},
"$defs": {
"ServerOptions": {
"type": "object",
"description": "Options for the Vite development server.",
"properties": {
"host": {
"oneOf": [
{"type": "string"},
{"type": "boolean"}
],
"description": "IP address the server should listen on. Set to true or '0.0.0.0' to listen on all addresses."
},
"port": {
"type": "integer",
"description": "Server port. If already in use, Vite tries the next available port.",
"default": 5173
},
"strictPort": {
"type": "boolean",
"description": "Exit if the port is already in use instead of trying the next port.",
"default": false
},
"open": {
"oneOf": [
{"type": "boolean"},
{"type": "string"}
],
"description": "Automatically open the app in the browser. Can be a URL string for a specific page."
},
"cors": {
"oneOf": [
{"type": "boolean"},
{"type": "object"}
],
"description": "Configure CORS for the dev server."
},
"hmr": {
"oneOf": [
{"type": "boolean"},
{"type": "object"}
],
"description": "Disable or configure the HMR connection."
}
}
},
"BuildOptions": {
"type": "object",
"description": "Options for Vite's production build.",
"properties": {
"target": {
"oneOf": [
{"type": "string"},
{"type": "array", "items": {"type": "string"}}
],
"description": "Browser compatibility target for the final bundle.",
"default": "modules"
},
"outDir": {
"type": "string",
"description": "Output directory for the build.",
"default": "dist"
},
"assetsDir": {
"type": "string",
"description": "Directory to nest generated assets under outDir.",
"default": "assets"
},
"sourcemap": {
"oneOf": [
{"type": "boolean"},
{"type": "string", "enum": ["inline", "hidden"]}
],
"description": "Generate production source maps."
},
"minify": {
"oneOf": [
{"type": "boolean"},
{"type": "string", "enum": ["esbuild", "terser"]}
],
"description": "Minification settings. false disables minification.",
"default": "esbuild"
},
"emptyOutDir": {
"type": "boolean",
"description": "Empty the outDir on build.",
"default": true
},
"copyPublicDir": {
"type": "boolean",
"description": "Copy files from publicDir to outDir.",
"default": true
}
}
},
"PreviewOptions": {
"type": "object",
"description": "Options for the Vite preview server.",
"properties": {
"host": {
"oneOf": [
{"type": "string"},
{"type": "boolean"}
]
},
"port": {
"type": "integer",
"default": 4173
},
"strictPort": {
"type": "boolean",
"default": false
},
"open": {
"oneOf": [
{"type": "boolean"},
{"type": "string"}
]
},
"cors": {
"oneOf": [
{"type": "boolean"},
{"type": "object"}
]
}
}
}
}
}