Socket
Socket
Sign inDemoInstall

webp-loader

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webp-loader - npm Package Compare versions

Comparing version 0.1.1 to 0.2.0

.travis.yml

57

index.js

@@ -7,53 +7,28 @@ // Copyright (C) 2016 Max Riveiro <kavu13@gmail.com>

var Imagemin = require('imagemin');
var imagemin = require('imagemin');
var imageminWebp = require('imagemin-webp');
var loaderUtils = require('loader-utils');
module.exports = function(content) {
module.exports = function (content) {
this.cacheable && this.cacheable();
var query = loaderUtils.getOptions(this) || {};
var configKey = query.config || 'webpLoader';
var config = this.options[configKey] || {};
var callback = this.async();
var called = false;
var query = loaderUtils.parseQuery(this.query);
var options = {
preset: query.preset || 'default',
quality: query.quality || 75,
alphaQuality: query.alphaQuality || 100,
method: query.method || 1,
sns: query.sns || 80,
autoFilter: query.autoFilter || false,
sharpness: query.sharpness || 0,
lossless: query.lossless || false,
bypassOnDebug: query.bypassOnDebug || false,
};
if (query.size) {
options.size = query.size;
}
if (query.filter) {
options.filter = query.filter;
}
if (this.debug === true && options.bypassOnDebug === true) {
if (this.debug === true && config.bypassOnDebug === true) {
return callback(null, content);
} else {
var imagemin = new Imagemin()
.src(content)
.use(imageminWebp(options));
imagemin.run(function(err, files) {
if (called) {
return;
}
called = true;
if (err) {
imagemin
.buffer(content,{
plugins: imageminWebp(config)
})
.then(function(data){
callback(null, data);
})
.catch(function(err){
callback(err);
} else {
callback(null, files[0].contents);
}
});
});
}

@@ -60,0 +35,0 @@ };

{
"name": "webp-loader",
"version": "0.1.1",
"version": "0.2.0",
"description": "WebP image loader & converter for Webpack",
"main": "index.js",
"scripts": {
"test": "webpack -d --config test/webpack.config.js",
"lint": "eslint index.js"
"test": "npm run lint && npm run test:webpack1 && npm run test:webpack2 && npm run test:webpack3",
"lint": "npm i && node_modules/.bin/eslint index.js test/*.js",
"test:webpack1": "WEBPACK_VERSION=1.x ./scripts/test.sh",
"test:webpack2": "WEBPACK_VERSION=2.x ./scripts/test.sh",
"test:webpack3": "WEBPACK_VERSION=3.x ./scripts/test.sh"
},

@@ -26,16 +29,17 @@ "repository": {

"dependencies": {
"imagemin": "^4.0.0",
"imagemin-webp": "^3.1.0",
"loader-utils": "^0.2.12"
"imagemin": "^5.3.1",
"imagemin-webp": "^4.0.0",
"loader-utils": "^1.1.0"
},
"devDependencies": {
"eslint": "^1.10.3",
"eslint-plugin-nodeca": "^1.0.3",
"file-loader": "^0.8.5",
"multi-loader": "^0.1.0",
"webpack": "^1.12.10"
"eslint": "^4.1.1",
"file-loader": "^0.11.2",
"multi-loader": "^0.1.0"
},
"engines": {
"node": ">=0.6"
},
"peerDependencies": {
"webpack": "*"
}
}
# webp-loader
[![Build Status](https://travis-ci.org/kavu/webp-loader.svg?branch=master)](https://travis-ci.org/kavu/webp-loader)
[WebP](https://developers.google.com/speed/webp/) image loader & converter loader for Webpack.

@@ -20,4 +22,4 @@

loaders: [
'file',
'webp'
'file-loader',
'webp-loader'
]

@@ -35,3 +37,3 @@ }

loaders: [
'file',
'file-loader',
'webp?{quality: 13}'

@@ -43,3 +45,3 @@ ]

Normally you don't want to convert all of your images to WebP format, you just want to make alternate versions. You can use [multi-loader](https://github.com/webpack/multi-loader) to achieve it:
Normally you don't want to convert all of your images to WebP format, you just want to make alternate versions. You can use [multi-loader](https://github.com/webpack-contrib/multi-loader) to achieve it:

@@ -51,4 +53,4 @@ ```javascript

loader: multi(
'file?name=[name].[ext].webp!webp?{quality: 95}'
'file?name=[name].[ext]',
'file-loader?name=[name].[ext].webp!webp?{quality: 95}'
'file-loader?name=[name].[ext]',
)

@@ -55,0 +57,0 @@ },

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc