35 lines
923 B
JavaScript
35 lines
923 B
JavaScript
const { writeFile } = require('fs');
|
|
const { resolve } = require('path');
|
|
const imagemin = require('imagemin');
|
|
const imageminPngquant = require('imagemin-pngquant');
|
|
const imageminGifsicle = require('imagemin-gifsicle');
|
|
const imageminJpegtran = require('imagemin-jpegtran');
|
|
|
|
imagemin(['images/*.{png,jpg,gif}'], 'theme/images', {
|
|
plugins: [
|
|
imageminPngquant({
|
|
quality: [0.65, 0.8],
|
|
}),
|
|
imageminGifsicle({
|
|
optimizationLevel: 3,
|
|
}),
|
|
imageminJpegtran(),
|
|
],
|
|
})
|
|
.then((files) => {
|
|
files.forEach((file) => {
|
|
const path = resolve(__dirname, '../', file.path);
|
|
writeFile(path, file.data, (error) => {
|
|
if (error) {
|
|
process.stdout.write(`${error}\n`);
|
|
process.exit(1);
|
|
}
|
|
process.stdout.write(`File written: ${path}\n`);
|
|
});
|
|
});
|
|
})
|
|
.catch((error) => {
|
|
process.stdout.write(`${error}\n`);
|
|
process.exit(1);
|
|
});
|