@orchard9ai/create-vite-vike-tauri
Version:
Create Vite + Vike + Tauri applications with Orchard9 design system
91 lines (87 loc) • 2.66 kB
TypeScript
/**
* 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 };