use fallback function when image optimizer isn't available
authorDan Allen <dan@opendevise.com>
Tue, 3 Sep 2019 22:11:39 +0000 (16:11 -0600)
committerDan Allen <dan@opendevise.com>
Tue, 3 Sep 2019 22:11:39 +0000 (16:11 -0600)
gulp.d/tasks/build.js

index 03ca720..c2b502b 100644 (file)
@@ -19,6 +19,8 @@ const postcssVar = require('postcss-custom-properties')
 const uglify = require('gulp-uglify')
 const vfs = require('vinyl-fs')
 
+imagemin.noop = (buffer) => Promise.resolve(buffer)
+
 module.exports = (src, dest, preview) => () => {
   const opts = { base: src, cwd: src }
   const sourcemaps = preview || process.env.SOURCEMAPS === 'true'
@@ -75,9 +77,9 @@ module.exports = (src, dest, preview) => () => {
       .src('img/**/*.{gif,ico,jpg,png,svg}', opts)
       .pipe(
         imagemin([
-          imagemin.gifsicle(),
-          imagemin.jpegtran(),
-          imagemin.optipng(),
+          imagemin.gifsicle() || imagemin.noop,
+          imagemin.jpegtran() || imagemin.noop,
+          imagemin.optipng() || imagemin.noop,
           imagemin.svgo({ plugins: [{ removeViewBox: false }] }),
         ])
       ),