0.3.0 • Published 2 years ago

@chiiya/laravel-mix-image-minimizer v0.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Laravel Mix Image Minimizer

Latest Version on NPM npm Software License

This extension adds support for image-minimizer-webpack-plugin to Laravel Mix.

Installation

Install the extension and the implementation of your choice. It's recommended to use squoosh since imagemin is not maintained anymore.

# Using squoosh
npm i -D @chiiya/laravel-mix-image-minimizer @squoosh/lib
# Using imagemin
npm i -D @chiiya/laravel-mix-image-minimizer imagemin imagemin-gifsicle imagemin-mozjpeg imagemin-pngquant imagemin-svgo imagemin-webp

Usage

Require the extension inside your webpack.mix.js and use it like so:

const mix = require('laravel-mix');
require('@chiiya/laravel-mix-image-minimizer');

mix.images({
  webp: true,
});

Options

NameTypeDefaultDescription
implementationstringsquooshsquoosh or imagemin, see image-minimizer-webpack-plugin docs
patternsArray<Object>[{ from: "**/*", to: "images", context: "resources/images" }]pattern option as supported by the copy-webpack-plugin
webpBooleanfalseIf enabled, additional webp versions of all images will be generated
optionsObjectundefined for squoosh, { plugins: ["imagemin-gifsicle", "imagemin-mozjpeg", "imagemin-pngquant", "imagemin-svgo"] } for imageminCustom configuration for squoosh or imagemin
copyOptionsObject{ patterns: options.patterns }Additional configuration for the copy-webpack-plugin
webpOptionsObject{ encodeOptions: { webp: { quality: 90 }}} for squoosh, { plugins: ["imagemin-webp"] } for imageminCustom squoosh or imagemin configuration for generating webp images