UNPKG

@stacksjs/stx

Version:

A performant UI Framework. Powered by Bun.

53 lines 1.74 kB
import { type ImageOptions, } from './processor'; import type { BuildPlugin } from '../production-build'; /** * Create the image optimization build plugin */ export declare function createImagePlugin(options?: ImageBuildOptions): BuildPlugin; /** * Optimize a single image */ export declare function optimizeImage(inputPath: string, outputDir: string, options?: ImageOptions): Promise<ProcessedImage>; /** * Optimize all images in a directory */ export declare function optimizeDirectory(inputDir: string, outputDir: string, options?: ImageBuildOptions): Promise<{ processed: ProcessedImage[] stats: ImageBuildContext['stats'] }>; /** * Generate image manifest for build */ export declare function generateImageManifest(images: ProcessedImage[]): Record<string, { variants: ImageVariant[]; placeholder?: string }>; /** * Write image manifest to file */ export declare function writeImageManifest(images: ProcessedImage[], outputPath: string): Promise<void>; // ============================================================================ // Types // ============================================================================ export declare interface ImageBuildOptions { inputDirs?: string[] outputDir?: string baseUrl?: string defaults?: ImageOptions cache?: boolean cacheDir?: string concurrency?: number referencedOnly?: boolean formats?: ImageFormat[] widths?: number[] quality?: number placeholder?: 'blur' | 'dominant-color' | 'none' verbose?: boolean } export declare interface ImageBuildContext { imageReferences: Set<string> processedImages: Map<string, ProcessedImage> stats: { totalImages: number optimizedImages: number savedBytes: number variants: number } }