easy-tinypng-cli
A cli can automatically compress images with tinypng.com.
Why
When delevoping a website, we often need to compress
images
to reduce the network io
cast.In normal way, we may need four steps to compress images:
- download images from the internet
- upload the image to tinypng.com
- download the compressed image from tinypng.com
- copy the compressd images into our workspace
The above steps are very time-consuming. So !!! this cli
can automatically compress images in background process. It will watch the fileSystem changes to auto handle if there are any images that need to be compressed.
π
Features
-
πΎ Support configuration file -
π Multiple directory watching -
β¨ Support HMR -
π¦ Auto detection nested directory images and compress them -
π Background process will not block the main thread -
π»ββοΈ Compressed record logging to avoid repeated compression
Usage
Install
pnpm add -D easy-tinypng-cli
tiny.config.ts
Config -
APIKey (required) : the API key of tinypng.com, you can get it from tinypng.com
-
targetDir (required) : the top directory that you want to compress images
import { defineTinyConfig } from 'easy-tinypng-cli/utils'
export default defineTinyConfig({
configs: [
{
targetDir: './src/images',
},
],
APIKey: 'xxxxxxxxx',
})
package.json
Add Script in {
"scripts": {
"optimizeImages": "tiny"
}
}
or
{
"scripts": {
"optimizeImages": "tiny --once" //only compress once no watching files change
}
}
Author
sudongyuer email:[email protected]