{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "react-server configuration",
"description": "Configuration schema for @lazarv/react-server. Covers react-server specific options and Vite-level pass-through configuration.",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"description": "JSON Schema reference (ignored at runtime)."
},
"root": {
"type": "string",
"description": "Root directory for file-router page discovery."
},
"base": {
"type": "string",
"description": "Base public path for the application."
},
"entry": {
"type": "string",
"description": "Entry point for the application (used in non-file-router mode)."
},
"public": {
"oneOf": [
{
"type": "string"
},
{
"const": false
}
],
"description": "Public directory for static assets, or false to disable. Example: \"public\""
},
"name": {
"type": "string",
"description": "Application name."
},
"adapter": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "object"
}
],
"minItems": 1,
"maxItems": 2
}
],
"description": "Deployment adapter. Known adapters: aws, azure, azure-swa, bun, cloudflare, deno, docker, firebase, netlify, singlefile, vercel. Example: \"vercel\" or [\"cloudflare\", { ... }]"
},
"plugins": {
"type": "array",
"description": "Vite plugins array or factory function."
},
"define": {
"type": "object",
"description": "Global constant replacements (passed to Vite define)."
},
"envDir": {
"oneOf": [
{
"type": "string"
},
{
"const": false
}
],
"description": "Directory to load .env files from, or false to disable."
},
"envPrefix": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Env variable prefix(es) to expose to client-side code."
},
"cacheDir": {
"type": "string",
"description": "Directory for Vite's dependency cache."
},
"external": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Packages to externalize from the server bundle."
},
"sourcemap": {
"oneOf": [
{
"type": "boolean"
},
{
"enum": ["inline", "hidden", "server", "server-inline"]
}
],
"description": "Source map generation strategy: true, false, \"inline\", \"hidden\", \"server\", or \"server-inline\"."
},
"compression": {
"type": "boolean",
"description": "Enable response compression."
},
"export": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
]
}
}
],
"description": "Static export configuration. Provide paths, path descriptors, a function, or boolean."
},
"prerender": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
],
"description": "Enable prerendering. true or { timeout: number }."
},
"cluster": {
"oneOf": [
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "Number of cluster workers, or true for auto-detection."
},
"cors": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
],
"description": "Enable CORS. true or { origin, credentials, ... }."
},
"vite": {
"type": "object",
"description": "Raw Vite config override (object or function)."
},
"customLogger": {
"type": "object",
"description": "Custom Vite logger instance."
},
"logger": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
],
"description": "Logger configuration. String (e.g. \"pino\") or object."
},
"globalErrorComponent": {
"type": "string",
"description": "Glob pattern for the global error component." },
"handlers": {
"oneOf": [
{
"type": "array"
},
{
"type": "object",
"properties": {
"pre": {
"type": "array"
},
"post": {
"type": "array"
}
},
"additionalProperties": false
}
],
"description": "HTTP request handlers (middleware). Array, function, or { pre, post }."
},
"importMap": {
"type": "object",
"properties": {
"imports": {
"type": "object"
}
},
"additionalProperties": false,
"description": "Import map for bare specifier resolution in the browser."
},
"inspect": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
],
"description": "Enable vite-plugin-inspect for debugging."
},
"runtime": {
"type": "object",
"description": "Runtime configuration passed to the server."
},
"cookies": {
"type": "object",
"description": "Cookie options for the session."
},
"host": {
"oneOf": [
{
"type": "string"
},
{
"const": true
}
],
"description": "Host to listen on. Example: \"0.0.0.0\" or true (all interfaces)."
},
"port": {
"type": "integer",
"minimum": 0,
"maximum": 65535,
"description": "Port to listen on (0–65535)."
},
"console": {
"type": "boolean",
"description": "Disable the dev console overlay."
},
"overlay": {
"type": "boolean",
"description": "Disable the dev error overlay."
},
"assetsInclude": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Additional file types to treat as static assets. String, RegExp, or array."
},
"logLevel": {
"enum": ["info", "warn", "error", "silent"],
"description": "Vite log level: \"info\" | \"warn\" | \"error\" | \"silent\"."
},
"clearScreen": {
"type": "boolean",
"description": "Whether to clear the terminal screen on dev server start."
},
"html": {
"type": "object",
"description": "HTML options (e.g. cspNonce)."
},
"worker": {
"type": "object",
"properties": {
"plugins": {
"type": "array"
},
"rollupOptions": {
"type": "object"
},
"rolldownOptions": {
"type": "object"
}
},
"additionalProperties": false,
"description": "Web worker bundling configuration."
},
"server": {
"type": "object",
"properties": {
"host": {
"oneOf": [
{
"type": "string"
},
{
"const": true
}
],
"description": "Specify which IP addresses the server should listen on."
},
"port": {
"type": "integer",
"minimum": 0,
"maximum": 65535,
"description": "Specify server port."
},
"strictPort": {
"type": "boolean",
"description": "If enabled, Vite will exit if the specified port is already in use."
},
"https": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
],
"description": "Enable HTTPS / TLS."
},
"cors": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
],
"description": "Configure CORS for the dev server."
},
"open": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"description": "Open the app in the browser on server start."
},
"hmr": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
],
"description": "Configure HMR connection. Set to false to disable HMR."
},
"ws": {
"const": false,
"description": "Set to false to disable the WebSocket connection. Experimental."
},
"allowedHosts": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"const": true
} ],
"description": "Hostnames that Vite is allowed to respond to. Set to true to allow all hosts."
},
"fs": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {
"type": "string"
},
"description": "Directories allowed to be served."
},
"deny": {
"type": "array",
"items": {
"type": "string"
},
"description": "Directories denied from being served."
},
"strict": {
"type": "boolean",
"description": "Enable strict file serving mode."
}
},
"additionalProperties": false,
"description": "File system serving restrictions."
},
"watch": {
"type": "object",
"description": "File watcher options (passed to chokidar)."
},
"origin": {
"type": "string",
"description": "Define the origin of the generated asset URLs during development."
},
"proxy": {
"type": "object",
"description": "Custom proxy rules for the dev server."
},
"trustProxy": {
"type": "boolean",
"description": "Trust the X-Forwarded-* headers from reverse proxies."
},
"keepAliveTimeout": {
"type": "integer",
"minimum": 0,
"description": "Keep-alive timeout in milliseconds. Must exceed your load balancer's idle timeout to prevent 502 errors. Default: 65000."
},
"headersTimeout": {
"type": "integer",
"minimum": 0,
"description": "Headers timeout in milliseconds. Maximum time to wait for the client to send full request headers. Must exceed keepAliveTimeout. Default: 66000."
},
"requestTimeout": {
"type": "integer",
"minimum": 0,
"description": "Request timeout in milliseconds. Maximum time allowed for the client to send the complete request. Set to 0 to disable. Default: 30000."
},
"maxConcurrentRequests": {
"type": "integer",
"minimum": 0,
"description": "Maximum concurrent requests before the server responds with 503. Set to 0 to disable. Default: 0 (disabled)."
},
"shutdownTimeout": {
"type": "integer",
"minimum": 0,
"description": "Graceful shutdown timeout in milliseconds. Time to wait for in-flight requests to drain after SIGTERM/SIGINT. Default: 25000."
},
"connectionsCheckingInterval": {
"type": "integer",
"minimum": 100,
"description": "How often (ms) the HTTP server scans for connections exceeding their headers/request timeouts. Lower = faster slow-loris detection. Node's default is 30000ms; we override to 5000. Default: 5000."
},
"clusterRespawnLimit": {
"type": "integer",
"minimum": 1,
"description": "Crash-loop trip wire: max worker exits within `clusterRespawnWindow` before the master gives up and exits. Default: numCPUs * 5."
},
"clusterRespawnWindow": {
"type": "integer",
"minimum": 1000,
"description": "Sliding window (ms) used by `clusterRespawnLimit` to detect crash loops. Default: 60000."
},
"backpressure": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable adaptive backpressure. Defaults: enabled when running in cluster mode, disabled in single-process. Override via env var REACT_SERVER_BACKPRESSURE=1|0 (env wins over config), or set this flag explicitly."
},
"initialLimit": {
"type": "integer",
"minimum": 1,
"description": "Starting concurrency limit. Defaults to maxLimit (start wide open, tighten under overload)."
},
"minLimit": {
"type": "integer",
"minimum": 1,
"description": "Minimum concurrency limit (floor). The adaptive limit never drops below this. Default: 1."
},
"maxLimit": {
"type": "integer",
"minimum": 1,
"description": "Maximum concurrency limit (ceiling). Capped by maxConcurrentRequests when set. Default: 1000."
},
"eluMax": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Event Loop Utilization threshold (0–1). Above this, the limit decreases and excess requests skip the queue. Default: 0.95."
},
"sampleWindow": {
"type": "integer",
"minimum": 100,
"description": "Interval (ms) for recalculation and ELU sampling. Default: 1000."
},
"smoothingFactor": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "EWMA smoothing factor for the `smoothedLatency` field in the limiter's stats output. Observability-only — does not affect admission decisions. Default: 0.2."
},
"queueSize": {
"type": "integer",
"minimum": 0,
"description": "Maximum requests waiting in the backpressure queue. Beyond this, requests are immediately rejected with 503. Default: 100."
},
"queueTimeout": {
"type": "integer",
"minimum": 0,
"description": "Maximum time (ms) a request waits in the queue before being rejected with 503. Default: 5000."
}
},
"additionalProperties": false,
"description": "Adaptive backpressure configuration using Event Loop Utilization (ELU). Enabled by default in production with zero overhead. Dynamically adjusts concurrency limit based on event loop saturation."
},
"headers": {
"type": "object",
"description": "Custom response headers for the dev server."
},
"warmup": {
"type": "object",
"description": "Warm up files to pre-transform on server start."
},
"preTransformRequests": {
"type": "boolean",
"description": "Pre-transform known direct imports. Enabled by default."
},
"sourcemapIgnoreList": {
"const": false,
"description": "Whether to ignore-list source files in the dev server sourcemap. By default excludes node_modules."
}
},
"additionalProperties": false,
"description": "Dev server configuration (Vite-compatible)."
},
"resolve": {
"type": "object",
"properties": {
"alias": {
"oneOf": [
{
"type": "object"
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"find": {
"type": "string"
},
"replacement": {
"type": "string"
}
},
"required": ["find", "replacement"]
}
}
],
"description": "Import alias mapping."
},
"dedupe": {
"type": "array",
"items": {
"type": "string"
},
"description": "Dependencies to force-deduplicate."
},
"noExternal": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "boolean" }
],
"description": "Packages to bundle instead of externalizing during SSR."
},
"shared": {
"type": "array",
"items": {
"type": "string"
},
"description": "Shared dependencies between server and client bundles."
},
"external": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "External dependencies for SSR."
},
"builtins": {
"type": "array",
"items": {
"type": "string"
},
"description": "Built-in modules that should not be bundled."
},
"conditions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Custom conditions for package exports resolution."
},
"extensions": {
"type": "array",
"items": {
"type": "string"
},
"description": "File extensions to try when resolving imports."
},
"mainFields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fields in package.json to try when resolving entry points."
},
"externalConditions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Conditions for external package exports resolution."
},
"preserveSymlinks": {
"type": "boolean",
"description": "Whether to preserve symlinks when resolving. Defaults to false."
},
"tsconfigPaths": {
"type": "boolean",
"description": "Whether to use tsconfig paths for resolution. Defaults to false."
}
},
"additionalProperties": false,
"description": "Module resolution configuration."
},
"build": {
"type": "object",
"properties": {
"assetsDir": {
"type": "string",
"description": "Directory for assets inside outDir."
},
"cssMinify": {
"oneOf": [
{
"type": "boolean"
},
{
"enum": ["lightningcss", "esbuild"]
}
],
"description": "CSS minification (uses minify value by default)."
},
"cssCodeSplit": {
"type": "boolean",
"description": "Enable CSS code splitting."
},
"cssTarget": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"const": false
}
],
"description": "CSS browser compatibility target."
},
"assetsInlineLimit": {
"type": "number",
"description": "Threshold (in bytes) for inlining assets as base64."
},
"reportCompressedSize": {
"type": "boolean",
"description": "Show compressed size of build output."
},
"copyPublicDir": {
"type": "boolean",
"description": "Copy public directory to outDir on build."
},
"modulePreload": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
],
"description": "Module preload configuration."
},
"chunkSizeWarningLimit": {
"type": "number",
"description": "Warn when a chunk exceeds this size (in kB)."
},
"lib": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
],
"description": "Build in library mode."
},
"terserOptions": {
"type": "object",
"description": "Terser minification options (when minify is terser)."
},
"write": {
"type": "boolean",
"description": "Whether to write the bundle to disk."
},
"ssrManifest": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"description": "Generate an SSR manifest for preload directives."
},
"emitAssets": {
"type": "boolean",
"description": "Whether to emit assets during build."
},
"watch": {
"oneOf": [
{
"type": "object"
},
{
"const": null
}
],
"description": "Rollup watcher options, or null to disable."
},
"license": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
],
"description": "Generate license file for third-party dependencies."
},
"dynamicImportVarsOptions": {
"type": "object",
"description": "Options for dynamic import variable analysis."
},
"rollupOptions": {
"type": "object", "properties": {
"external": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
"output": {
"type": "object"
},
"plugins": {
"type": "array"
},
"input": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"checks": {
"type": "object"
},
"treeshake": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
]
}
},
"additionalProperties": false,
"description": "Rollup-specific build options (deprecated, use rolldownOptions)."
},
"rolldownOptions": {
"type": "object",
"properties": {
"external": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
"output": {
"type": "object"
},
"plugins": {
"type": "array"
},
"input": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"checks": {
"type": "object"
},
"treeshake": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
]
}
},
"additionalProperties": false,
"description": "Rolldown-specific build options."
},
"server": {
"type": "object",
"properties": {
"config": {
"type": "object"
}
},
"additionalProperties": false,
"description": "Custom Vite config for the server build."
},
"client": {
"type": "object",
"properties": {
"config": {
"type": "object"
}
},
"additionalProperties": false,
"description": "Custom Vite config for the client build."
}
},
"additionalProperties": false,
"description": "Build configuration (Vite-compatible)."
},
"ssr": {
"type": "object",
"properties": {
"external": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"const": true
}
],
"description": "Force externalize these dependencies during SSR."
},
"noExternal": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"const": true
}
],
"description": "Force bundle these dependencies during SSR."
},
"target": {
"enum": ["node", "webworker"],
"description": "SSR target environment: \"node\" or \"webworker\"."
},
"resolve": {
"type": "object",
"description": "SSR resolve options."
},
"optimizeDeps": {
"type": "object",
"description": "SSR dependency optimization options."
}
},
"additionalProperties": false,
"description": "SSR configuration (Vite-compatible)."
},
"css": {
"type": "object",
"properties": {
"transformer": {
"enum": ["postcss", "lightningcss"],
"description": "CSS transformer: \"postcss\" or \"lightningcss\"."
},
"modules": {
"oneOf": [
{
"type": "object"
},
{
"const": false
}
],
"description": "CSS Modules configuration, or false to disable."
}, "preprocessorOptions": {
"type": "object",
"description": "Options for CSS preprocessors."
},
"preprocessorMaxWorkers": {
"oneOf": [
{
"type": "number"
},
{
"const": true
}
],
"description": "Max workers for CSS preprocessing. Number or true for auto."
},
"postcss": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
],
"description": "PostCSS config (inline or path to config file)."
},
"devSourcemap": {
"type": "boolean",
"description": "Enable sourcemaps during dev for CSS."
},
"lightningcss": {
"type": "object",
"description": "Lightning CSS options."
}
},
"additionalProperties": false,
"description": "CSS configuration (Vite-compatible)."
},
"optimizeDeps": {
"type": "object",
"properties": {
"entries": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Entry points for dependency pre-bundling."
},
"include": {
"type": "array",
"items": {
"type": "string"
},
"description": "Dependencies to force-include in pre-bundling."
},
"exclude": {
"type": "array",
"items": {
"type": "string"
},
"description": "Dependencies to exclude from pre-bundling."
},
"force": {
"type": "boolean",
"description": "Force re-optimization on every dev server start."
},
"needsInterop": {
"type": "array",
"items": {
"type": "string"
},
"description": "Dependencies that need CommonJS interop."
},
"extensions": {
"type": "array",
"items": {
"type": "string"
},
"description": "File extensions to scan for dependencies."
},
"disabled": {
"oneOf": [
{
"type": "boolean"
},
{
"enum": ["build", "dev"]
}
],
"description": "Disable optimization: true, false, \"build\", or \"dev\" (deprecated)."
},
"noDiscovery": {
"type": "boolean",
"description": "Disable automatic dependency discovery."
},
"holdUntilCrawlEnd": {
"type": "boolean",
"description": "Hold optimization until initial crawl ends."
},
"rollupOptions": {
"type": "object",
"description": "Rollup options for dependency optimization (deprecated)."
},
"rolldownOptions": {
"type": "object",
"description": "Rolldown options for dependency optimization."
},
"esbuildOptions": {
"type": "object",
"description": "esbuild options for dependency optimization (deprecated)."
}
},
"additionalProperties": false,
"description": "Dependency optimization configuration (Vite-compatible)."
},
"cache": {
"type": "object",
"properties": {
"profiles": {
"oneOf": [
{
"type": "object"
},
{
"type": "array"
}
],
"description": "Cache profiles (TTL, key strategies, etc.)."
},
"providers": {
"oneOf": [
{
"type": "object"
},
{
"type": "array"
}
],
"description": "Cache storage providers."
}
},
"additionalProperties": false,
"description": "Cache configuration for server-side caching."
},
"serverFunctions": {
"type": "object",
"properties": {
"secret": {
"type": "string",
"description": "Secret key for signing server function calls."
},
"secretFile": {
"type": "string",
"description": "Path to a file containing the secret key."
},
"previousSecrets": {
"type": "array",
"items": {
"type": "string"
},
"description": "Previously used secrets for key rotation."
},
"previousSecretFiles": {
"type": "array",
"items": {
"type": "string"
},
"description": "Previously used secret files for key rotation."
},
"limits": {
"type": "object",
"properties": {
"maxRows": {
"type": "integer",
"minimum": 0,
"description": "Maximum number of outlined rows per reply. Default: 10000."
},
"maxDepth": {
"type": "integer",
"minimum": 0,
"description": "Maximum recursion depth when materialising a row's value tree. Default: 128."
},
"maxBytes": {
"type": "integer",
"minimum": 0,
"description": "Maximum total payload size in bytes (sum of FormData entries). Default: 32 MiB."
},
"maxBoundArgs": {
"type": "integer",
"minimum": 0,
"description": "Maximum bound arguments on a server reference. Default: 256 (matches React)."
},
"maxBigIntDigits": { "type": "integer",
"minimum": 0,
"description": "Maximum digits in a decoded BigInt literal. Default: 4096 (matches React)."
},
"maxStringLength": {
"type": "integer",
"minimum": 0,
"description": "Maximum length of a single string row before decoding. Default: 16 MiB."
},
"maxStreamChunks": {
"type": "integer",
"minimum": 0,
"description": "Maximum chunks materialised for a decoded stream/iterable. Default: 10000."
}
},
"additionalProperties": false,
"description": "Resource ceilings for decoding server function payloads (per-request DoS protection)."
}
},
"additionalProperties": false,
"description": "Server functions (RPC) configuration."
},
"routes": {
"oneOf": [
{
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Object shorthand: keys are URL paths, values are file paths. Type defaults to page."
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "The URL path for this route."
},
"file": {
"type": "string",
"description": "File path to the component/handler (resolved relative to cwd)."
},
"type": {
"enum": [
"page",
"layout",
"middleware",
"api",
"error",
"loading",
"fallback",
"default",
"template",
"state",
"metadata",
"static"
],
"description": "Route type. Defaults to \"page\"."
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"OPTIONS"
],
"description": "HTTP method (required when type is api)."
},
"outlet": {
"type": "string",
"description": "Named outlet."
}
},
"required": ["path", "file"],
"additionalProperties": false
}
}
],
"description": "Virtual route definitions mapping URL paths to files outside the file-router root. Object shorthand (values are file paths, type defaults to \"page\") or array of { path, file, type?, method?, outlet? }."
},
"layout": {
"type": "object",
"description": "File-router layout configuration."
},
"page": {
"type": "object",
"description": "File-router page configuration."
},
"middleware": {
"type": "object",
"description": "File-router middleware configuration."
},
"api": {
"type": "object",
"description": "File-router API route configuration."
},
"router": {
"type": "object",
"description": "File-router router configuration (applies on top of layout/page/middleware/api)."
},
"mdx": {
"type": "object",
"properties": {
"remarkPlugins": {
"type": "array",
"description": "Remark plugins for MDX processing."
},
"rehypePlugins": {
"type": "array",
"description": "Rehype plugins for MDX processing."
},
"components": {
"type": "string",
"description": "Path to the MDX components file."
}
},
"additionalProperties": false,
"description": "MDX processing configuration."
},
"telemetry": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable/disable telemetry. Also enabled by OTEL_EXPORTER_OTLP_ENDPOINT or REACT_SERVER_TELEMETRY env vars."
},
"serviceName": {
"type": "string",
"description": "Service name reported to your observability backend. Default: package name or \"@lazarv/react-server\"."
},
"endpoint": {
"type": "string",
"description": "OTLP collector endpoint. Default: \"http://localhost:4318\"."
},
"exporter": {
"enum": ["otlp", "console", "dev-console"],
"description": "Exporter type: \"otlp\" | \"console\" | \"dev-console\". Default: auto-detected."
},
"sampleRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Sampling rate 0.0–1.0. Default: 1.0 (sample everything)."
},
"metrics": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable/disable metrics collection. Default: true when telemetry is enabled."
},
"interval": {
"type": "integer",
"minimum": 1000,
"description": "Metrics export interval in milliseconds. Default: 30000."
}
},
"additionalProperties": false,
"description": "Metrics sub-configuration."
}
},
"additionalProperties": false,
"description": "OpenTelemetry observability configuration. When enabled, the runtime instruments HTTP requests, rendering, server functions, and middleware."
}
},
"additionalProperties": false
}