24 lines
701 B
JavaScript
24 lines
701 B
JavaScript
// scripts/optimize-images.mjs
|
|
import imagemin from 'imagemin';
|
|
import imageminMozjpeg from 'imagemin-mozjpeg';
|
|
import imageminOptipng from 'imagemin-optipng';
|
|
import path from 'path';
|
|
|
|
const source = path.join(process.cwd(), 'public/images/*.{jpg,png}');
|
|
const destination = path.join(process.cwd(), 'public/images-optimized');
|
|
|
|
(async () => {
|
|
try {
|
|
const files = await imagemin([source], {
|
|
destination,
|
|
plugins: [
|
|
imageminMozjpeg({ quality: 90 }),
|
|
imageminOptipng({ optimizationLevel: 3 }),
|
|
],
|
|
});
|
|
console.log('Images optimized:', files.map(f => f.destinationPath));
|
|
} catch (error) {
|
|
console.error('Error optimizing images:', error);
|
|
}
|
|
})();
|