浏览代码

Update dependencies

Gaël Métais 9 年之前
父节点
当前提交
594267b936
共有 7 个文件被更改,包括 64 次插入64 次删除
  1. 1 1
      .travis.yml
  2. 0 0
      front/src/css/icons.css
  3. 0 0
      front/src/css/main.css
  4. 0 0
      front/src/less/icons.less
  5. 28 31
      lib/tools/weightChecker/imageOptimizer.js
  6. 29 26
      package.json
  7. 6 6
      test/core/imageOptimizerTest.js

+ 1 - 1
.travis.yml

@@ -2,7 +2,7 @@ language: node_js
 sudo: false
 node_js:
   - "6.2"
-  - "0.12"
+  - "4.0"
 env:
   - CXX=g++-4.8
 addons:

文件差异内容过多而无法显示
+ 0 - 0
front/src/css/icons.css


文件差异内容过多而无法显示
+ 0 - 0
front/src/css/main.css


文件差异内容过多而无法显示
+ 0 - 0
front/src/less/icons.less


+ 28 - 31
lib/tools/weightChecker/imageOptimizer.js

@@ -1,8 +1,10 @@
-var debug = require('debug')('ylt:imageOptimizer');
-
-var Q           = require('q');
-var Imagemin    = require('imagemin');
-var jpegoptim   = require('imagemin-jpegoptim');
+var debug               = require('debug')('ylt:imageOptimizer');
+var Q                   = require('q');
+var imagemin            = require('imagemin');
+var imageminJpegtran    = require('imagemin-jpegtran');
+var imageminJpegoptim   = require('imagemin-jpegoptim');
+var imageminOptipng     = require('imagemin-optipng');
+var imageminSvgo        = require('imagemin-svgo');
 
 var ImageOptimizer = function() {
 
@@ -34,7 +36,7 @@ var ImageOptimizer = function() {
                     return entry;
                 }
 
-                var newFileSize = newFile.contents.length;
+                var newFileSize = newFile.length;
 
                 debug('JPEG lossless compression complete for %s', entry.url);
                 
@@ -55,7 +57,7 @@ var ImageOptimizer = function() {
                     return entry;
                 }
 
-                var newFileSize = newFile.contents.length;
+                var newFileSize = newFile.length;
 
                 debug('JPEG lossy compression complete for %s', entry.url);
 
@@ -90,7 +92,7 @@ var ImageOptimizer = function() {
                     return entry;
                 }
                 
-                var newFileSize = newFile.contents.length;
+                var newFileSize = newFile.length;
 
                 debug('PNG lossless compression complete for %s', entry.url);
                 
@@ -124,12 +126,12 @@ var ImageOptimizer = function() {
                     return entry;
                 }
 
-                var newFileSize = newFile.contents.length;
+                var newFileSize = newFile.length;
 
                 debug('SVG lossless compression complete for %s', entry.url);
                 
                 if (gainIsEnough(fileSize, newFileSize)) {
-                    entry.weightCheck.bodyAfterOptimization = newFile.contents.toString();
+                    entry.weightCheck.bodyAfterOptimization = newFile.toString();
                     entry.weightCheck.lossless = entry.weightCheck.optimized = newFileSize;
                     entry.weightCheck.isOptimized = false;
                     debug('Filesize is %d bytes smaller (-%d%)', fileSize - newFileSize, Math.round((fileSize - newFileSize) * 100 / fileSize));
@@ -194,35 +196,30 @@ var ImageOptimizer = function() {
 
         var engine;
         if (type === 'jpeg' && !lossy) {
-            engine = Imagemin.jpegtran();
+            engine = imageminJpegtran({progressive: false});
         } else if (type === 'jpeg' && lossy) {
-            engine = jpegoptim({max: MAX_JPEG_QUALITY});
+            engine = imageminJpegoptim({progressive: false, max: MAX_JPEG_QUALITY});
         } else if (type === 'png' && !lossy) {
-            engine = Imagemin.optipng({optimizationLevel: OPTIPNG_COMPRESSION_LEVEL});
+            engine = imageminOptipng({optimizationLevel: OPTIPNG_COMPRESSION_LEVEL});
         } else if (type === 'svg' && !lossy) {
-            engine = Imagemin.svgo({ plugins: [ { removeUselessDefs: false } ] });
+            engine = imageminSvgo({ plugins: [ { removeUselessDefs: false } ] });
         } else {
             deferred.reject('No optimization engine found for imagemin');
         }
 
-        try {
-
-            new Imagemin()
-                .src(imageBody)
-                .use(engine)
-                .run(function (err, files) {
-                    if (err) {
-                        deferred.reject(err);
-                    } else {
-                        deferred.resolve(files[0]);
-                        var endTime = Date.now();
-                        debug('Optimization for %s took %d ms', type, endTime - startTime);
-                    }
-                });
 
-            } catch(err) {
-                deferred.reject(err);
-            }
+        imagemin.buffer(imageBody, {use: engine})
+
+        .then(function(file) {
+            var endTime = Date.now();
+            debug('Optimization for %s took %d ms', type, endTime - startTime);
+            deferred.resolve(file);
+            console.log('ET HOP');
+        })
+
+        .catch(function(err) {
+            deferred.reject(file);
+        });
 
         return deferred.promise;
     }

+ 29 - 26
package.json

@@ -16,55 +16,58 @@
     "yellowlabtools": "./bin/cli.js"
   },
   "engines": {
-    "node": ">= 0.12.0"
+    "node": ">= 4.0"
   },
   "main": "./lib/index.js",
   "dependencies": {
-    "angular": "1.5.2",
-    "angular-animate": "1.5.2",
-    "angular-chart.js": "0.9.0",
+    "angular": "1.5.7",
+    "angular-animate": "1.5.7",
+    "angular-chart.js": "0.10.2",
     "angular-local-storage": "0.2.7",
-    "angular-resource": "1.5.2",
-    "angular-route": "1.5.2",
-    "angular-sanitize": "1.5.2",
+    "angular-resource": "1.5.7",
+    "angular-route": "1.5.7",
+    "angular-sanitize": "1.5.7",
     "async": "1.5.2",
-    "body-parser": "1.15.0",
-    "chart.js": "1.0.2",
-    "clean-css": "3.4.10",
+    "body-parser": "1.15.2",
+    "chart.js": "1.1.1",
+    "clean-css": "3.4.18",
     "color-diff": "1.0.0",
-    "compression": "1.6.1",
+    "compression": "1.6.2",
     "cors": "2.7.1",
     "css-mq-parser": "0.0.3",
     "debug": "2.2.0",
     "easyxml": "2.0.1",
-    "express": "4.13.4",
-    "imagemin": "4.0.0",
-    "imagemin-jpegoptim": "4.1.0",
+    "express": "4.14.0",
+    "imagemin": "5.2.2",
+    "imagemin-jpegoptim": "5.0.0",
+    "imagemin-jpegtran": "5.0.2",
+    "imagemin-optipng": "5.1.0",
+    "imagemin-svgo": "5.1.0",
     "is-http2": "1.0.4",
     "lwip": "0.0.9",
     "meow": "3.7.0",
-    "minimize": "1.8.1",
+    "minimize": "2.0.0",
     "parse-color": "1.0.0",
     "phantomas": "1.15.1",
-    "ps-node": "0.0.5",
+    "ps-node": "0.1.2",
     "q": "1.4.1",
-    "request": "2.69.0",
-    "rimraf": "2.5.2",
+    "request": "2.72.0",
+    "rimraf": "2.5.3",
     "temporary": "0.0.8",
     "try-thread-sleep": "1.0.0",
-    "uglify-js": "2.6.2"
+    "uglify-js": "2.7.0"
   },
   "devDependencies": {
     "chai": "~3.5.0",
     "grunt": "~0.4.5",
     "grunt-blanket": "~0.0.10",
     "grunt-contrib-clean": "~1.0.0",
-    "grunt-contrib-concat": "~1.0.0",
+    "grunt-contrib-concat": "~1.0.1",
     "grunt-contrib-copy": "~1.0.0",
     "grunt-contrib-cssmin": "~1.0.1",
-    "grunt-contrib-htmlmin": "~1.1.0",
+    "grunt-contrib-htmlmin": "~1.4.0",
     "grunt-contrib-jshint": "~1.0.0",
-    "grunt-contrib-less": "~1.2.0",
+    "grunt-contrib-less": "~1.3.0",
     "grunt-contrib-uglify": "~1.0.1",
     "grunt-env": "~0.4.4",
     "grunt-express": "~1.4.1",
@@ -72,12 +75,12 @@
     "grunt-inline-angular-templates": "~0.1.5",
     "grunt-line-remover": "~0.0.2",
     "grunt-mocha-test": "~0.12.7",
-    "grunt-replace": "~0.11.0",
+    "grunt-replace": "~1.0.1",
     "grunt-usemin": "~3.1.1",
-    "grunt-webfont": "~1.2.0",
+    "grunt-webfont": "~1.4.0",
     "matchdep": "~1.0.1",
-    "mocha": "~2.4.5",
-    "sinon": "~1.17.3",
+    "mocha": "~2.5.3",
+    "sinon": "~1.17.4",
     "sinon-chai": "~2.8.0"
   },
   "scripts": {

+ 6 - 6
test/core/imageOptimizerTest.js

@@ -11,7 +11,7 @@ describe('imageOptimizer', function() {
         var fileSize = fileContent.length;
 
         imageOptimizer.compressJpegLosslessly(fileContent).then(function(newFile) {
-            var newFileSize = newFile.contents.length;
+            var newFileSize = newFile.length;
             newFileSize.should.be.below(fileSize);
             done();
         }).fail(function(err) {
@@ -25,7 +25,7 @@ describe('imageOptimizer', function() {
         var fileSize = fileContent.length;
 
         imageOptimizer.compressJpegLossly(fileContent).then(function(newFile) {
-            var newFileSize = newFile.contents.length;
+            var newFileSize = newFile.length;
             newFileSize.should.be.below(fileSize);
             done();
         }).fail(function(err) {
@@ -82,7 +82,7 @@ describe('imageOptimizer', function() {
         var fileSize = fileContent.length;
 
         imageOptimizer.compressPngLosslessly(fileContent).then(function(newFile) {
-            var newFileSize = newFile.contents.length;
+            var newFileSize = newFile.length;
             newFileSize.should.be.below(fileSize);
             done();
         }).fail(function(err) {
@@ -96,7 +96,7 @@ describe('imageOptimizer', function() {
         var fileSize = fileContent.length;
 
         imageOptimizer.compressPngLosslessly(fileContent).then(function(newFile) {
-            var newFileSize = newFile.contents.length;
+            var newFileSize = newFile.length;
             newFileSize.should.equal(fileSize);
             done();
         }).fail(function(err) {
@@ -110,7 +110,7 @@ describe('imageOptimizer', function() {
         var fileSize = fileContent.length;
 
         imageOptimizer.compressPngLosslessly(fileContent).then(function(newFile) {
-            var newFileSize = newFile.contents.length;
+            var newFileSize = newFile.length;
             newFileSize.should.equal(fileSize);
             done();
         }).fail(function(err) {
@@ -166,7 +166,7 @@ describe('imageOptimizer', function() {
         var fileSize = fileContent.length;
 
         imageOptimizer.compressSvgLosslessly(fileContent).then(function(newFile) {
-            var newFileSize = newFile.contents.length;
+            var newFileSize = newFile.length;
             newFileSize.should.be.below(fileSize);
             done();
         }).fail(function(err) {

部分文件因为文件数量过多而无法显示