Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
imagemin-gifsicle
Advanced tools
The imagemin-gifsicle npm package is a plugin for Imagemin that uses the Gifsicle library to compress GIF images. It allows you to optimize GIF files by reducing their file size while maintaining quality.
Optimization
This feature allows you to optimize GIF images by reducing their file size. The code sample demonstrates how to use imagemin-gifsicle to compress all GIF files in the 'images' directory and save the optimized versions in the 'build/images' directory.
const imagemin = require('imagemin');
const imageminGifsicle = require('imagemin-gifsicle');
(async () => {
await imagemin(['images/*.gif'], {
destination: 'build/images',
plugins: [
imageminGifsicle()
]
});
console.log('GIF images optimized');
})();
Interlacing
This feature allows you to enable interlacing for GIF images. Interlacing loads the image progressively, which can improve the user experience on slow connections. The code sample demonstrates how to enable interlacing while optimizing GIF images.
const imagemin = require('imagemin');
const imageminGifsicle = require('imagemin-gifsicle');
(async () => {
await imagemin(['images/*.gif'], {
destination: 'build/images',
plugins: [
imageminGifsicle({ interlaced: true })
]
});
console.log('GIF images optimized with interlacing');
})();
Color Reduction
This feature allows you to reduce the number of colors in a GIF image, which can significantly reduce the file size. The code sample demonstrates how to reduce the number of colors to 64 while optimizing GIF images.
const imagemin = require('imagemin');
const imageminGifsicle = require('imagemin-gifsicle');
(async () => {
await imagemin(['images/*.gif'], {
destination: 'build/images',
plugins: [
imageminGifsicle({ colors: 64 })
]
});
console.log('GIF images optimized with color reduction');
})();
The gifsicle package is a command-line tool for creating, editing, and optimizing GIF images. It offers similar functionalities to imagemin-gifsicle, such as optimization, interlacing, and color reduction. However, it is not specifically designed to be used as a plugin for Imagemin.
The giflossy package is a fork of Gifsicle that includes lossy compression options for GIF images. It provides more aggressive compression techniques compared to imagemin-gifsicle, which can result in smaller file sizes but may also reduce image quality.
The imagemin-giflossy package is an Imagemin plugin that uses the giflossy library to optimize GIF images. It offers similar functionalities to imagemin-gifsicle but with additional lossy compression options for more aggressive optimization.
Imagemin plugin for Gifsicle
$ npm install imagemin-gifsicle
const imagemin = require('imagemin');
const imageminGifsicle = require('imagemin-gifsicle');
(async () => {
await imagemin(['images/*.gif'], 'build/images', {
use: [
imageminGifsicle()
]
});
console.log('Images optimized');
})();
Returns a Promise<Buffer>
with the optimized image.
Type: object
Type: boolean
Default: false
Interlace gif for progressive rendering.
Type: number
Default: 1
Select an optimization level between 1
and 3
.
The optimization level determines how much optimization is done; higher levels take longer, but may have better results.
Type: number
Reduce the number of distinct colors in each output GIF to num or less. Num must be between 2 and 256.
Type: Buffer
Buffer to optimize.
FAQs
Imagemin plugin for Gifsicle
The npm package imagemin-gifsicle receives a total of 467,717 weekly downloads. As such, imagemin-gifsicle popularity was classified as popular.
We found that imagemin-gifsicle demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.