UNPKG

@sammwy/milkshake

Version:

<p align="center"> <img src="https://raw.githubusercontent.com/sammwyy/milkshake/master/docs/milkshake.png" height="64px"> <h1 align="center">MilkShake</h1> <p align="center"> <b>Automatize Tasks, Compile, concatenate and minify automaticall

37 lines (33 loc) 1.02 kB
const fs = require("fs"); const imagemin = require('imagemin'); const imageminJpegtran = require('imagemin-jpegtran'); const imageminPngquant = require('imagemin-pngquant'); exports.compressImage = async (directory, target) => { const files = await imagemin([directory + "/*.{jpg,png}"], { destination: target, plugins: [ imageminJpegtran({ progressive: true }), imageminPngquant({ quality: [0.6, 0.8] }) ] }); return saveBuffersToFile(files); } function saveBuffersToFile (list) { return new Promise ((resolve, reject) => { let count = 0; for (let item of list) { let path = item.destinationPath; let buffer = item.data; fs.writeFile(path, buffer, () => { count++; if (count == list.length) { resolve(); } }); } }) }