UNPKG

@stacksjs/stx

Version:

A performant UI Framework. Powered by Bun.

92 lines 2.38 kB
import type { SyntaxHighlightTheme, StxOptions } from '../types'; /** * Get MIME type for a file extension */ export declare function getMimeType(ext: string): string; /** * MIME type mapping */ export declare const MIME_TYPES: { '.html': 'text/html'; '.css': 'text/css'; '.js': 'application/javascript'; '.mjs': 'application/javascript'; '.json': 'application/json'; '.png': 'image/png'; '.jpg': 'image/jpeg'; '.jpeg': 'image/jpeg'; '.gif': 'image/gif'; '.svg': 'image/svg+xml'; '.ico': 'image/x-icon'; '.webp': 'image/webp'; '.woff': 'font/woff'; '.woff2': 'font/woff2'; '.ttf': 'font/ttf'; '.eot': 'application/vnd.ms-fontobject'; '.otf': 'font/otf'; '.mp4': 'video/mp4'; '.webm': 'video/webm'; '.mp3': 'audio/mpeg'; '.wav': 'audio/wav'; '.pdf': 'application/pdf'; '.zip': 'application/zip'; '.xml': 'application/xml'; '.txt': 'text/plain'; '.md': 'text/markdown'; '.stx': 'text/html' }; /** * Default dev server options */ export declare const DEFAULT_DEV_OPTIONS: Required<Omit<DevServerOptions, 'stxOptions' | 'markdown'>>; /** * Markdown rendering options */ export declare interface MarkdownOptions { syntaxHighlighting?: { /** Enable server-side syntax highlighting */ serverSide?: boolean /** Enable syntax highlighting (default: true) */ enabled?: boolean /** Default theme for code blocks */ defaultTheme?: SyntaxHighlightTheme /** Highlight code blocks with unknown languages */ highlightUnknownLanguages?: boolean /** Additional themes to make available */ additionalThemes?: SyntaxHighlightTheme[] } } /** * Dev server configuration options */ export declare interface DevServerOptions { port?: number watch?: boolean native?: boolean stxOptions?: StxOptions markdown?: MarkdownOptions cache?: boolean hotReload?: boolean hmrPort?: number } /** * Server instance returned by serve functions */ export declare interface ServerInstance { stop: () => void url: string port: number hmrPort?: number } /** * File watcher event types */ export type WatchEventType = 'change' | 'rename' | 'delete' | 'add' /** * File watcher callback */ export type WatchCallback = (eventType: WatchEventType, filename: string) => void /** * Route handler function */ export type RouteHandler = (request: Request) => Promise<Response> | Response