Skip to content

Commit e65fd0d

Browse files
committed
Remove new redundant options arg from algorithm
It was introduced in 0.3.1 and broke configurations passing an explicit algorithm function, as the signature used to be function(buff, cb).
1 parent e428e53 commit e65fd0d

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

index.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,29 @@ function CompressionPlugin(options) {
1111
options = options || {};
1212
this.asset = options.asset || "[path].gz[query]";
1313
this.algorithm = options.algorithm || "gzip";
14-
this.compressionOptions = {};
1514
if(typeof this.algorithm === "string") {
1615
if (this.algorithm === "zopfli") {
1716
try {
1817
var zopfli = require("node-zopfli");
1918
} catch(err) {
2019
throw new Error("node-zopfli not found");
2120
}
22-
this.compressionOptions = {
21+
var compressionOptions = {
2322
verbose: options.hasOwnProperty('verbose') ? options.verbose : false,
2423
verbose_more: options.hasOwnProperty('verbose_more') ? options.verbose_more : false,
2524
numiterations: options.numiterations ? options.numiterations : 15,
2625
blocksplitting: options.hasOwnProperty('blocksplitting') ? options.blocksplitting : true,
2726
blocksplittinglast: options.hasOwnProperty('blocksplittinglast') ? options.blocksplittinglast : false,
2827
blocksplittingmax: options.blocksplittingmax ? options.blocksplittingmax : 15
2928
};
30-
this.algorithm = function (content, options, fn) {
31-
zopfli.gzip(content, options, fn);
29+
this.algorithm = function (content, fn) {
30+
zopfli.gzip(content, compressionOptions, fn);
3231
};
3332
} else {
3433
var zlib = require("zlib");
35-
this.algorithm = zlib[this.algorithm];
34+
var algorithm = zlib[this.algorithm];
3635
if(!this.algorithm) throw new Error("Algorithm not found in zlib");
37-
this.compressionOptions = {
36+
var compressionOptions = {
3837
level: options.level || 9,
3938
flush: options.flush,
4039
chunkSize: options.chunkSize,
@@ -43,6 +42,9 @@ function CompressionPlugin(options) {
4342
strategy: options.strategy,
4443
dictionary: options.dictionary
4544
};
45+
this.algorithm = function(content, fn) {
46+
algorithm(content, compressionOptions, fn);
47+
};
4648
}
4749
}
4850
this.test = options.test || options.regExp;
@@ -67,7 +69,7 @@ CompressionPlugin.prototype.apply = function(compiler) {
6769
content = new Buffer(content, "utf-8");
6870
var originalSize = content.length;
6971
if(originalSize < this.threshold) return callback();
70-
this.algorithm(content, this.compressionOptions, function(err, result) {
72+
this.algorithm(content, function(err, result) {
7173
if(err) return callback(err);
7274
if(result.length / originalSize > this.minRatio) return callback();
7375
var parse = url.parse(file);

0 commit comments

Comments
 (0)