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.
View JSON Schema on GitHub

JSON Schema

vite-inline-config-schema.json Raw ↑
{
  "$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"}
          ]
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vite-inline-config"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.