Common build-time requirements:
- bash
- m4
- libtool
Image decoding libraries:
- libpng
- jbig2decjpeg-turbo
- libtiff
- openjpeg
- ghostscript
- giflib
- openexr
- webp
- jpeg-xl
- aom
- libde265
- x265
- libheif
- libraw
Image manipulation:
- imagemagick
- liblqr
- little-cms2
Font-rendering (needed to display vector formats):
- freetype
- fontconfig
General purpose and/or math libraries:
- glib
- libomp
- imath
- highway
This leaves the following:
- brotli : a compression library; I suspect some image format uses it.
- libidn : probably a deep dependency, command line tools ought not be doing domain-name lookups
- libvmaf : A video related library; probably a dependency of one of the video-codec based image libraries?
- shared-mime-info : figure out what file type a file is
- jasper : found a few possibilities for what this is; I don't use homebrew so don't know how to resolve a brew name to an OSS project
I think jasper is this, a library for JPEG-2000 images: https://www.ece.uvic.ca/~frodo/jasper/
Linked to from here: https://formulae.brew.sh/formula/jasper
All in, I'd say it has remarkably little in dependencies that aren't directly connected to fulfilling the job it's supposed to do (bash, libtool, m4 - looks like build time does; libomp, highway, imath - useful optimization libraries; glib - living in C land is a PITA; shared-mime-info - useful for file type recognition and handling) and I would be totally unsurprised if some of them weren't transitive deps anyway (esp. libomp and highway).
So I'd say it's very light on dependencies.
have you seen some of the dependency trees for npm packages? not really sure your point here