SVGOMG под капотом обновился до SVGO 3.0, и на самом деле обновление SVGO в этой новости даже интереснее.
Во-первых, если вы у себя используете SVGO для оптимизации SVG-файлов где-нибудь в пайплайне, версия 3.0 требует Node.js 14+. Ещё одна причина обновить ноду, если ещё не успели. Во-вторых, обновились конфиги для SVGO:
active больше не нужен, extendDefaultPlugins тоже убрали. В-третьих, плагин sortAttrs теперь включён по умолчанию, поэтому после обновления может раздуться коммит с обновлёнными svg-шками. Не пугайтесь, это ради лучшей gzip-компрессии.Обязательно почитайте release note, там много полезных инструкций, как обновиться правильно.
Почему обратил внимание на обновление именно SVGOMG? Там появился ползунок для плагина
convertTransform, который позволяет контролировать точность чисел. Поигрался с несколько SVG — банальное уменьшение точности чисел на некоторых картинках вообще не заметно глазом. И даже скриншотные тесты не всегда ловят эти незначительные диффы. При этом экономия в байтах местами колоссальная, потому что в изначальных картинках очень много длинных дробных чисел. Этот же плагин можно аккуратно настроить и у себя в пайплайне.Если вы ещё не используете ничего для минификации SVG — зря. Попробуйте подключить SVGO, мне он много трафика экономит на всяких иконках из Figma. Пока что не видел ни одного графического редактора, который сразу хорошо минифицированный файл выдаёт, всегда нужно поверх напильничком проходиться.
Есть древний доклад Виталия Харисова «10k», там много идей для оптимизации размера страниц можно почерпнуть. И хотя я знаю, что Виталий некоторые SVG жмёт прям руками, при этом получается чуть-чуть лучше, чем у автоматики, но в докладе он советует всё-таки SVGO.