One tool I’ve been using to optimize images is sharp.
import sharp from 'sharp'
Here’s how I used it to convert images to webp:
await sharp('image.png')
.webp({ lossless: true })
.toFile('image.webp')
It can do a lot more image processing stuff like rotate resize etc.