gulp-imageminをversion7以降に更新後、「TypeError: imagemin.jpegtran is not a function」というエラーが出た時の対処法

何の気なしにgulp-imageminのversionを「^6.2.0」から「^7.1.0」にアップデートしてnpm installしました。

その後、

TypeError: imagemin.jpegtran is not a function

というエラーメッセージが表示されたので、その時の備忘録。

imageminにjpegtranという関数プロパティが設定されていないよということなので、
改めて、node_modulesの中のgulp-imageminの中のindex.jsファイルを覗いてみました。

module.exports.gifsicle = exposePlugin('gifsicle');
module.exports.mozjpeg = exposePlugin('mozjpeg');
module.exports.optipng = exposePlugin('optipng');
module.exports.svgo = exposePlugin('svgo');

案の定、jpegtranという関数はどこにも定義されておらず、jpegtranの代わりにmozjpegが定義されていました。

ということなので、自身のgulpfile.jsの

imagemin.jpegtran()

という箇所を

imagemin.mozjpeg()

に変更しました。

無事に動きました。