Navigated to /docs/core/api/config

Configuration API

Stable authoring helpers and exact project and Vite configuration contracts.

Configuration exports

8 public exports, grouped under their canonical import boundary.

@tavojs/core/config

Canonical import boundary for every symbol in this section.

defineConfig#

defineConfig<const T extends TavoConfig>(config: ExactTavoConfig<T>): T

Defines the single project configuration object and brands it for runtime validation.

Related guide

defineTavoViteConfig#

defineTavoViteConfig(config?: TavoViteConfigExport | undefined): TavoViteConfigExport

Defines a Vite config with the JSX runtime settings required by Tavo.js.

Related guide

ExactTavoConfig#

type ExactTavoConfig<T extends TavoConfig> = T & {
    [K in Exclude<keyof T, keyof TavoConfig>]: never;
};

Defines the exact tavo config contract used by the project configuration.

Related guide

TavoConfig#

type TavoConfig = {
    pagesDir?: string;
    cssEntries?: string[];
    plugins?: TavoPluginInput;
    diagnostics?: {
        devOverlay?: boolean;
        traces?: boolean;
    };
    build?: {
        prerenderStyles?: "inline" | "external";
        budgets?: {
            firstLoadJs?: number | string;
            routeJs?: number | string;
        };
    };
    ssr?: Omit<NodeHandlerOptions, "modules" | "plugins"> & {
        modules?: NodeHandlerOptions["modules"];
    };
};

Defines the tavo config contract used by the project configuration.

Related guide

TavoViteConfig#

type TavoViteConfig = Record<string, unknown> & {
    esbuild?: ViteEsbuildOptions | false;
};

Defines the tavo vite config contract used by the project configuration.

Related guide

TavoViteConfigEnv#

type TavoViteConfigEnv = Record<string, unknown> & {
    command?: string;
    mode?: string;
    isPreview?: boolean;
    isSsrBuild?: boolean;
};

Defines the tavo vite config env contract used by the project configuration.

Related guide

TavoViteConfigExport#

type TavoViteConfigExport = TavoViteConfig | Promise<TavoViteConfig> | ((env: TavoViteConfigEnv) => TavoViteConfig | Promise<TavoViteConfig>);

Defines the tavo vite config export contract used by the project configuration.

Related guide

ViteEsbuildOptions#

type ViteEsbuildOptions = Record<string, unknown> & {
    jsx?: string;
    jsxImportSource?: string;
};

Configures vite esbuild in the project configuration.

Related guide