UNPKG

@orchard9ai/create-vite-vike-tauri

Version:
91 lines (87 loc) 2.66 kB
/** * Validation utilities for project creation */ interface ValidationResult { valid: boolean; errors: string[]; warnings: string[]; } interface SystemRequirements { node: boolean; rust: boolean; packageManager: boolean; errors: string[]; warnings: string[]; } /** * Validate project name according to npm package naming rules */ declare function validateProjectName(name: string): ValidationResult; /** * Validate target directory path */ declare function validateTargetPath(targetPath: string): Promise<ValidationResult>; /** * Verify system requirements for Tauri development */ declare function verifySystemRequirements(packageManager?: 'pnpm' | 'npm' | 'yarn'): Promise<SystemRequirements>; /** * Validate all project creation options */ declare function validateProjectOptions(options: { name: string; targetDir: string; packageManager?: 'pnpm' | 'npm' | 'yarn'; }): Promise<ValidationResult>; /** * @orchard9ai/create-vite-vike-tauri * * Programmatic API for creating Vite + Vike + Tauri applications */ interface SeoOptions { /** Project title for SEO */ title: string; /** Project description for SEO */ description: string; /** Keywords for SEO (comma-separated) */ keywords: string; /** Author name */ author: string; } interface CreateAppOptions { /** Project name */ name: string; /** Target directory path */ targetDir: string; /** Add Vike SSR support */ vike?: boolean; /** Add mobile platform support */ mobile?: boolean; /** Add native notification support with examples */ notifications?: boolean; /** Skip dependency installation */ skipInstall?: boolean; /** Skip git initialization */ skipGit?: boolean; /** Package manager to use */ packageManager?: 'pnpm' | 'npm' | 'yarn'; /** Dry run mode - preview without creating files */ dryRun?: boolean; /** SEO configuration (only used if vike is enabled) */ seo?: SeoOptions; } interface CreateAppResult { /** Path to created project */ projectPath: string; /** Whether the creation was successful */ success: boolean; /** Any errors that occurred */ errors?: string[]; /** Next steps for the user */ nextSteps: string[]; } /** * Create a new Vite + Vike + Tauri application */ declare function createApp(options: CreateAppOptions): Promise<CreateAppResult>; export { type CreateAppOptions, type CreateAppResult, type SeoOptions, type SystemRequirements, type ValidationResult, createApp, validateProjectName, validateProjectOptions, validateTargetPath, verifySystemRequirements };