const { writeFile } = require("fs"); const { resolve } = require("path"); const imagemin = require("imagemin"); const imageminPngquant = require("imagemin-pngquant"); const imageminGifsicle = require("imagemin-gifsicle"); const imageminJpegtran = require("imagemin-jpegtran"); imagemin(["images/*.{png,jpg,gif}"], "theme/images", { plugins: [ imageminPngquant({ quality: [0.65, 0.8], }), imageminGifsicle({ optimizationLevel: 3, }), imageminJpegtran(), ], }) .then(files => { files.forEach(file => { const path = resolve(__dirname, "../", file.path); writeFile(path, file.data, error => { if (error) { process.stdout.write(`${error}\n`); process.exit(1); } process.stdout.write(`File written: ${path}\n`); }); }); }) .catch(error => { process.stderr.write(`${error}\n`); process.exit(1); });