Просмотр исходного кода

Replace the HTML minifier so that it minifies inline JS and CSS

Gaël Métais 4 лет назад
Родитель
Сommit
be5549bf81
2 измененных файлов с 21 добавлено и 15 удалено
  1. 20 14
      lib/tools/redownload/fileMinifier.js
  2. 1 1
      package.json

+ 20 - 14
lib/tools/redownload/fileMinifier.js

@@ -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
package.json

@@ -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",