A CLI for Squoosh
npm install @squoosh/cliUnfortunately, due to a few people leaving the team, and staffing issues resulting from the current economic climate (ugh), this package is no longer actively maintained. I know that sucks, but there simply isn't the time & people to work on this. If anyone from the community wants to fork it, you have my blessing. The squoosh.app will continue to be supported and improved.
Squoosh CLI is an _experimental_ way to run all the codecs you know from the [Squoosh] web app on your command line using WebAssembly. The Squoosh CLI uses a worker pool to parallelize processing images. This way you can apply the same codec to many images at once.
Squoosh CLI is currently not the fastest image compression tool in town and doesn’t aim to be. It is, however, fast enough to compress many images sufficiently quick at once.
The Squoosh CLI can be used straight from the command line without installing using npx:
```
$ npx @squoosh/cli
Of course, you can also install the Squoosh CLI:
``
$ npm i -g @squoosh/cli
$ squoosh-cli
`
Usage: squoosh-cli [options]
Options:
-V, --version output the version number
-d, --output-dir
The default values for each
config option can be found in the [codecs.ts][codecs.ts] file under defaultEncoderOptions. Every unspecified value will use the default value specified here. _Better documentation is needed here._Auto optimizer
Squoosh CLI has an _experimental_ auto optimizer that compresses an image as much as possible, trying to hit a specific [Butteraugli] target value. The higher the Butteraugli target value, the more artifacts can be introduced.
You can make use of the auto optimizer by using “auto” as the config object.
`
$ npx @squoosh/cli --wp2 auto test.png
``[squoosh]: https://squoosh.app
[codecs.ts]: https://github.com/GoogleChromeLabs/squoosh/blob/dev/libsquoosh/src/codecs.ts
[butteraugli]: https://github.com/google/butteraugli