import imagemin, { Result } from 'imagemin'; import imageminJpegtran from 'imagemin-jpegtran'; import imageminOptipng from 'imagemin-optipng'; import { getLocalDirectory } from './local'; import { TO_COMPRESS_DIRECTORY_NAME } from './constants'; export const shouldCompressImage = (filePath: string): boolean => filePath.includes(TO_COMPRESS_DIRECTORY_NAME); export const isAlreadyPendingCompression = shouldCompressImage; export const compressImage = async (localfilePath: string): Promise => { const [compressedImage] = await imagemin([localfilePath], { destination: getLocalDirectory(), plugins: [imageminJpegtran(), imageminOptipng()], }); console.log('Compressed image', compressedImage.destinationPath); return compressedImage; };