compress-images
compress-images copied to clipboard
Compatibility with pngquant-bin v7
Found an issue, since version 7 of pngquant-bin they're using native ESM, using pngquant-bin
v7+ will fail with:
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: .../node_modules/pngquant-bin/index.js
require() of ES modules is not supported.
require() of .../node_modules/pngquant-bin/index.js from .../node_modules/compress-images/index.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename .../node_modules/pngquant-bin/index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from .../node_modules/pngquant-bin/package.json.
Same for gifsicle
!
@mathieutu
Same for
gifsicle
!
Temporary solution:
npm install [email protected] --save
npm install [email protected] --save
Yep, this is what I've done. 😉
@mathieutu
Temporary solution-2:
You can also download:
https://pngquant.org/
Binary for macOS (v2.17.0) Binary for Windows Package for Debian Various Linux packages
and replace in node_modules\pngquant-bin\vendor\pngquant.exe
for Windows as the example.
I can't upgrade these packages (gifsicle, pngquant-bin) to these versions, because they use ESModules and the compress-images
package is still using CommonJS