@stacksjs/stx
Version:
A performant UI Framework. Powered by Bun.
84 lines • 2.28 kB
TypeScript
import { createNetlifyClient, collectDeployFiles, createFileManifest, filterRequiredFiles, formatSize, getTotalSize, } from './netlify';
import { detectProjectConfig, createDefaultNetlifyConfig, generateNetlifyToml, writeNetlifyConfig, hasNetlifyConfig, } from './config-generators';
export type {
NetlifyClient,
NetlifySite,
NetlifyDeploy,
DeployFile,
} from './netlify';
export type {
NetlifyConfig,
ProjectConfig,
} from './config-generators';
/**
* Deploy to Netlify
*/
export declare function deploy(config?: DeployConfig): Promise<DeployResult>;
/**
* Initialize Netlify configuration for a project
*/
export declare function initNetlify(config?: InitConfig): Promise<{
configPath: string
siteId?: string
}>;
// ============================================================================
// Types
// ============================================================================
export declare interface DeployConfig {
directory?: string
siteId?: string
token?: string
production?: boolean
message?: string
build?: boolean
open?: boolean
dryRun?: boolean
functions?: string
cwd?: string
onProgress?: (status: DeployProgress) => void
}
export declare interface DeployProgress {
stage: 'build' | 'collect' | 'upload' | 'process' | 'done' | 'error'
message: string
percent?: number
details?: unknown
}
export declare interface DeployResult {
success: boolean
url: string
siteUrl?: string
deployId: string
logs: string[]
duration: number
filesUploaded: number
totalSize: number
}
export declare interface InitConfig {
directory?: string
siteId?: string
createSite?: boolean
siteName?: string
}
// ============================================================================
// Error Handling
// ============================================================================
export declare class DeployError extends Error {
code: string;
constructor(message: string, code: string);
}
export {
createNetlifyClient,
collectDeployFiles,
createFileManifest,
filterRequiredFiles,
formatSize,
getTotalSize,
calculateSha1,
} from './netlify';
export {
generateNetlifyToml,
detectProjectConfig,
createDefaultNetlifyConfig,
writeNetlifyConfig,
hasNetlifyConfig,
} from './config-generators';