UNPKG

@ordojs/cli

Version:

Command-line interface for OrdoJS framework

140 lines 3.37 kB
/** * @fileoverview OrdoJS CLI - Deployment adapter interface * Defines the interface for deployment adapters */ import { OptimizationResults } from '../asset-optimizer.js'; /** * Deployment target configuration */ export interface DeploymentConfig { /** * Output directory for the build */ outputDir: string; /** * Environment variables for the deployment */ env?: Record<string, string>; /** * Deployment-specific settings */ settings?: Record<string, any>; /** * Path to routes directory */ routesDir?: string; /** * Whether the deployment is for a static site */ isStatic?: boolean; /** * Whether to include server functions */ includeServerFunctions?: boolean; /** * Custom domain configuration */ domain?: { name: string; useHttps: boolean; aliases?: string[]; }; /** * Headers to add to the deployment */ headers?: Array<{ source: string; headers: Array<{ key: string; value: string; }>; }>; /** * Redirects to add to the deployment */ redirects?: Array<{ source: string; destination: string; permanent: boolean; }>; } /** * Deployment result */ export interface DeploymentResult { /** * Whether the deployment preparation was successful */ success: boolean; /** * Error message if the deployment failed */ error?: string; /** * Generated configuration files */ generatedFiles: Array<{ path: string; content: string; }>; /** * Deployment instructions */ instructions: string; /** * Deployment URL (if available) */ deploymentUrl?: string; /** * Optimization results */ optimizationResults?: OptimizationResults; } /** * Deployment adapter interface */ export interface DeploymentAdapter { /** * Name of the deployment adapter */ name: string; /** * Description of the deployment adapter */ description: string; /** * Validate the deployment configuration * @param config Deployment configuration * @returns Validation result */ validateConfig(config: DeploymentConfig): { valid: boolean; errors?: string[]; }; /** * Prepare the deployment * @param config Deployment configuration * @returns Deployment result */ prepareDeployment(config: DeploymentConfig): Promise<DeploymentResult>; /** * Generate deployment-specific optimizations * @param config Deployment configuration * @param outputDir Output directory * @returns Optimization results */ optimizeForDeployment(config: DeploymentConfig, outputDir: string): Promise<OptimizationResults>; /** * Get deployment-specific environment variables * @param config Deployment configuration * @returns Environment variables */ getEnvironmentVariables(config: DeploymentConfig): Record<string, string>; /** * Get deployment command * @param config Deployment configuration * @returns Deployment command */ getDeployCommand(config: DeploymentConfig): string; } //# sourceMappingURL=adapter-interface.d.ts.map