Modern image optimization pipeline with intelligent compression, format conversion (WebP, AVIF), responsive sizing, and CDN integration. Built for Node.js, React, Next.js, and TypeScript projects.
- π€ Automatic Codebase Conversion - Scan and convert all images in your codebase automatically
- π― Smart Format Selection - AI-powered format recommendations based on content
- πΌοΈ Placeholder Generation - LQIP and BlurHash for progressive loading
- π§ Enhanced Algorithms - 30% better quality analysis with noise detection
- π Better Compression - 15-25% smaller files with content-aware optimization
- π¨ Multi-Format Support - JPEG, PNG, WebP, AVIF, SVG, GIF
- π Responsive Sizes - Generate multiple sizes automatically
- ποΈ Smart Compression - Adaptive quality based on image analysis
- π― SVG Optimization - Advanced SVGO integration with custom algorithms
- π CDN Ready - Built-in CDN path generation
- β‘ Batch Processing - Parallel optimization pipeline
- π§ Framework Agnostic - Works with Node.js, React, Next.js, Vue, etc.
- π Detailed Stats - Compression ratios and size savings
- πΎ Caching - Skip already optimized images
- π€ Auto Codebase Conversion - Automatically update image references in code
- π― Auto Format Selection - Choose optimal formats based on content analysis
- πΌοΈ Placeholder Generation - LQIP & BlurHash for progressive loading
- π§ Advanced Quality Analysis - Text/photo detection, noise analysis
- π Content-Aware Optimization - Different strategies for photos vs graphics
npm install @optimix/image-pipeline# Optimize all images in a directory
npx optimix optimize ./images --output ./optimized
# With custom options
npx optimix optimize ./src/assets \
--output ./dist/assets \
--formats webp,avif \
--sizes 400,800,1200 \
--quality autoconst { ImageOptimizer } = require('@optimix/image-pipeline');
const optimizer = new ImageOptimizer({
outputDir: './optimized',
formats: ['webp', 'avif'],
sizes: [400, 800, 1200],
quality: 'auto'
});
// Single image
const result = await optimizer.optimizeSingle('./photo.jpg');
console.log(`Saved ${result.savings.percentage.toFixed(1)}%`);
// Batch processing
const batchResult = await optimizer.optimizeDirectory('./images');
console.log(`Processed ${batchResult.filesProcessed} files`);const optimizer = new ImageOptimizer({
outputDir: './public/optimized',
formats: ['webp', 'avif'],
quality: 'auto',
autoFormat: true, // NEW: Auto-select best formats
generatePlaceholders: true, // NEW: Generate LQIP/BlurHash
updateCodebase: true, // NEW: Update code references
codebaseRoot: './src',
});
// Automatically scan, optimize, and update all images
const result = await optimizer.convertCodebaseImages();
console.log(`Converted ${result.convertedImages} images`);
console.log(`Updated ${result.updatedFiles} code files`);import { ImageOptimizer, OptimizationConfig } from '@optimix/image-pipeline';
const config: OptimizationConfig = {
outputDir: './public/optimized',
formats: ['webp', 'avif'],
sizes: [320, 640, 1024, 1920],
quality: 'auto',
cdnBaseUrl: 'https://cdn.example.com'
};
const optimizer = new ImageOptimizer(config);
const result = await optimizer.optimizeSingle('./hero.jpg');// scripts/optimize-images.js
const { ImageOptimizer } = require('@optimix/image-pipeline');
async function optimizeForBuild() {
const optimizer = new ImageOptimizer({
outputDir: './public/optimized',
formats: ['webp', 'avif'],
sizes: [640, 1024, 1920],
quality: 'auto',
parallel: 8
});
await optimizer.optimizeDirectory('./public/images');
}
optimizeForBuild();Add to package.json:
{
"scripts": {
"optimize": "node scripts/optimize-images.js",
"build": "npm run optimize && next build"
}
}- v2.0 Features Guide - New features in v2.0 β
- Getting Started - Quick start guide
- API Reference - Complete API documentation
- Advanced Usage - Advanced features and integrations
- Setup Guide - Installation and configuration
- Contributing - How to contribute
Check the examples/ directory for:
- Node.js integration
- React component examples
- TypeScript usage
- Build script examples
- Parallel processing for batch operations
- Intelligent caching to skip already optimized images
- Memory-efficient streaming for large files
- Average 60-80% size reduction with minimal quality loss
- E-commerce: Optimize product images for faster page loads
- Blogs & CMS: Automatically optimize uploaded images
- Static Sites: Build-time optimization for Next.js, Gatsby, etc.
- Mobile Apps: Generate responsive images for different screen sizes
- CDN Integration: Seamless integration with CloudFront, Cloudflare, etc.
MIT