Skip to content

Calling the ImageOptim macOS app from a Node.js script

sharp is what I usually use to optimize images in my Node.js scripts.

But sometimes I like using the ImageOptim macOS application to optimize images with a GUI.

This time I had the need to start it from a Node.js script.

Hereโ€™s what I did.

First I imported the child_process built-in Node module:

import * as child from 'node:child_process'

then I called it in this way to optimize all images in a specific folder:

const images_folder = './img'

child.exec(`open -a ImageOptim ${images_folder}`)

This starts the app, you see its UI, but itโ€™s not a big deal.

And I should note that this only works if you have the app installed.

โ†’ Download my free Node.js Handbook!

THE VALLEY OF CODE

THE WEB DEVELOPER's MANUAL

You might be interested in those things I do:

  • Learn to code in THE VALLEY OF CODE, your your web development manual
  • Find a ton of Web Development projects to learn modern tech stacks in practice in THE VALLEY OF CODE PRO
  • I wrote 16 books for beginner software developers, DOWNLOAD THEM NOW
  • Every year I organize a hands-on cohort course coding BOOTCAMP to teach you how to build a complex, modern Web Application in practice (next edition February-March-April-May 2024)
  • Learn how to start a solopreneur business on the Internet with SOLO LAB (next edition in 2024)
  • Find me on X

Related posts that talk about node: