Replace the HTML minifier so that it minifies inline JS and CSS
This commit is contained in:
@@ -3,7 +3,7 @@ var debug = require('debug')('ylt:fileMinifier');
|
||||
var Q = require('q');
|
||||
var UglifyJS = require('uglify-js');
|
||||
var CleanCSS = require('clean-css');
|
||||
var Minimize = require('minimize');
|
||||
var htmlMinifier = require('html-minifier');
|
||||
|
||||
|
||||
var FileMinifier = function() {
|
||||
@@ -175,19 +175,25 @@ var FileMinifier = function() {
|
||||
function minifyHtml(body) {
|
||||
var deferred = Q.defer();
|
||||
|
||||
var minimize = new Minimize({
|
||||
empty: true, // KEEP empty attributes
|
||||
conditionals: true, // KEEP conditional internet explorer comments
|
||||
spare: true // KEEP redundant attributes
|
||||
});
|
||||
|
||||
minimize.parse(body, function (error, data) {
|
||||
if (error) {
|
||||
deferred.reject(error);
|
||||
} else {
|
||||
deferred.resolve(data);
|
||||
}
|
||||
});
|
||||
try {
|
||||
var result = htmlMinifier.minify(body, {
|
||||
collapseWhitespace: true,
|
||||
conservativeCollapse: true,
|
||||
continueOnParseError: true,
|
||||
decodeEntities: true,
|
||||
minifyCSS: true,
|
||||
minifyJS: true,
|
||||
preserveLineBreaks: true,
|
||||
removeAttributeQuotes: true,
|
||||
removeComments: true,
|
||||
removeScriptTypeAttributes: true,
|
||||
removeStyleLinkTypeAttributes: true
|
||||
});
|
||||
deferred.resolve(result);
|
||||
} catch(err) {
|
||||
deferred.reject(err);
|
||||
}
|
||||
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
+1
-1
@@ -40,6 +40,7 @@
|
||||
"ejs": "2.6.1",
|
||||
"express": "4.16.4",
|
||||
"fontkit": "1.7.8",
|
||||
"html-minifier": "4.0.0",
|
||||
"image-size": "0.7.1",
|
||||
"imagemin": "6.1.0",
|
||||
"imagemin-jpegoptim": "6.0.0",
|
||||
@@ -59,7 +60,6 @@
|
||||
"jimp": "0.6.0",
|
||||
"md5": "2.2.1",
|
||||
"meow": "5.0.0",
|
||||
"minimize": "2.2.0",
|
||||
"parse-color": "1.0.0",
|
||||
"phantomas": "github:macbre/phantomas#devel",
|
||||
"ps-node": "0.1.6",
|
||||
|
||||
Reference in New Issue
Block a user