35 lines
915 B
JavaScript
35 lines
915 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.stderr.write(`${error}\n`);
|
|
process.exit(1);
|
|
});
|