Comprehensive TypeScript type definitions and interfaces for the Slidev presentation framework ecosystem
—
Core configuration interfaces for Slidev server options, entry configuration, and resolved utilities.
Configuration interface for Slidev runtime roots and workspace information.
/**
* Roots information for Slidev runtime environment
*/
interface RootsInfo {
/** CLI package root directory */
cliRoot: string;
/** Client package root directory */
clientRoot: string;
/** User project root directory */
userRoot: string;
/** User package.json contents */
userPkgJson: Record<string, any>;
/** User workspace root directory */
userWorkspaceRoot: string;
}Configuration options for Slidev entry and initialization.
/**
* Configuration options for Slidev entry
*/
interface SlidevEntryOptions {
/** Markdown entry file path */
entry: string;
/** Theme identifier to use */
theme?: string;
/** Remote password for remote presentations */
remote?: string;
/** Enable inspect plugin for debugging */
inspect?: boolean;
/** Build with download option enabled */
download?: boolean;
/** Base URL for dev or build mode */
base?: string;
}Comprehensive resolved options combining all configuration aspects.
/**
* Fully resolved Slidev configuration options
*/
interface ResolvedSlidevOptions extends RootsInfo, SlidevEntryOptions {
/** Parsed slide data */
data: SlidevData;
/** Raw theme identifier string */
themeRaw: string;
/** Theme root directories */
themeRoots: string[];
/** Addon root directories */
addonRoots: string[];
/** Combined roots array (excludes clientRoot) */
roots: string[];
/** Current mode: development, build, or export */
mode: 'dev' | 'build' | 'export';
/** Resolved utilities and tools */
utils: ResolvedSlidevUtils;
}Utility interfaces and tools available in resolved Slidev configuration.
/**
* Resolved utilities for Slidev operations
*/
interface ResolvedSlidevUtils {
/** Shiki syntax highlighter instance */
shiki: HighlighterGeneric<any, any>;
/** Shiki configuration options */
shikiOptions: MarkdownItShikiOptions;
/** KaTeX configuration options (null if disabled) */
katexOptions: KatexOptions | null;
/** Base HTML template string */
indexHtml: string;
/** Vite define configuration */
define: Record<string, string>;
/** Icon resolution paths */
iconsResolvePath: string[];
/** Function to check if Monaco types should be ignored for a package */
isMonacoTypesIgnored: (pkg: string) => boolean;
/** Function to get available layout components */
getLayouts: () => Record<string, string>;
}Configuration options for Slidev development server.
/**
* Slidev server configuration options
*/
interface SlidevServerOptions {
/**
* Custom data loading function
* @returns false if server should be restarted
*/
loadData?: (loadedSource: Record<string, string>) => Promise<SlidevData | false>;
}import type { MarkdownItShikiOptions } from '@shikijs/markdown-it';
import type { KatexOptions } from 'katex';
import type { HighlighterGeneric } from 'shiki';
import type { SlidevData } from './types';Install with Tessl CLI
npx tessl i tessl/npm-slidev--types