@ordojs/cli
Version:
Command-line interface for OrdoJS framework
125 lines • 3.48 kB
TypeScript
/**
* @fileoverview OrdoJS CLI - Netlify deployment adapter
* Adapter for deploying to Netlify
*/
import { OptimizationResults } from '../../asset-optimizer.js';
import { DeploymentAdapter, DeploymentConfig, DeploymentResult } from '../adapter-interface.js';
/**
* Netlify-specific configuration
*/
export interface NetlifyConfig extends DeploymentConfig {
/**
* Netlify project settings
*/
settings?: {
/**
* Netlify site name
*/
siteName?: string;
/**
* Netlify team name
*/
teamName?: string;
/**
* Whether to use Netlify Edge Functions
*/
useEdgeFunctions?: boolean;
/**
* Whether to use Netlify Forms
*/
useForms?: boolean;
/**
* Whether to use Netlify Identity
*/
useIdentity?: boolean;
/**
* Whether to use Netlify Large Media
*/
useLargeMedia?: boolean;
/**
* Whether to use Netlify Analytics
*/
useAnalytics?: boolean;
/**
* Whether to use Netlify Split Testing
*/
useSplitTesting?: boolean;
};
}
/**
* Netlify deployment adapter
*/
export declare class NetlifyAdapter implements DeploymentAdapter {
/**
* Adapter name
*/
name: string;
/**
* Adapter description
*/
description: string;
/**
* Validate Netlify deployment configuration
* @param config Deployment configuration
* @returns Validation result
*/
validateConfig(config: DeploymentConfig): {
valid: boolean;
errors?: string[];
};
/**
* Prepare Netlify deployment
* @param config Deployment configuration
* @returns Deployment result
*/
prepareDeployment(config: DeploymentConfig): Promise<DeploymentResult>;
/**
* Generate Netlify configuration
* @param config Netlify configuration
* @returns Netlify configuration TOML
*/
private generateNetlifyConfig;
/**
* Generate Netlify _redirects file
* @param redirects Redirects configuration
* @returns Redirects file content
*/
private generateRedirectsFile;
/**
* Generate Netlify _headers file
* @param headers Headers configuration
* @returns Headers file content
*/
private generateHeadersFile;
/**
* Generate server functions for Netlify
* @param config Deployment configuration
*/
private generateServerFunctions;
/**
* Get deployment instructions
* @param config Netlify configuration
* @returns Deployment instructions
*/
private getDeploymentInstructions;
/**
* Optimize assets for Netlify deployment
* @param config Deployment configuration
* @param outputDir Output directory
* @returns Optimization results
*/
optimizeForDeployment(config: DeploymentConfig, outputDir: string): Promise<OptimizationResults>;
/**
* Get Netlify-specific environment variables
* @param config Deployment configuration
* @returns Environment variables
*/
getEnvironmentVariables(config: DeploymentConfig): Record<string, string>;
/**
* Get Netlify deployment command
* @param config Deployment configuration
* @returns Deployment command
*/
getDeployCommand(config: DeploymentConfig): string;
}
//# sourceMappingURL=netlify-adapter.d.ts.map