Background
SVGO makes the next promising update after v3.0.5, v3.2.0, which features further byte-saving optimizations for our clients in a huge number of our SVG assets.
It includes three optimizations on converting path commands, which
- improves closing paths and how we determine if to use absolute or relative commands.
- round arc or convert to lines based on the geometric sagitta
- convert cubic Bézier curves to quadratic Bézier curves where possible
Those changes lead to SVG file size reduction of up to 7% per icon file in our already strongly optimized Codex WikimediaUI theme icon files.
One example of the savings there is the 'articleNotFound' icon, which is reduced from
842 bytes to 786 bytes (6.6% reduction before gzip).
Goal
Update 'svgo' package to latest in all Wikimedia deployed repos (CodeSearch).
Acceptance criteria
Update dependencies and re-crush assets throughout:
- MediaWiki core
- Extension:Echo - https://gerrit.wikimedia.org/r/c/989912
- Extension:GrowthExperiments - https://gerrit.wikimedia.org/r/c/989960
- Extension:MobileFrontend – https://gerrit.wikimedia.org/r/c/990154
- Extension:NearbyPages – https://gerrit.wikimedia.org/r/c/991019
- Extension:Popups – https://gerrit.wikimedia.org/r/c/990781
- Extension:RevisionSlider – https://gerrit.wikimedia.org/r/c/990783
- Extension:TwoColConflict – https://gerrit.wikimedia.org/r/c/990784
- Skin:MinervaNeue - https://gerrit.wikimedia.org/r/c/990153
- Skin:Vector – https://gerrit.wikimedia.org/r/c/989962
- Extension:CentralNotice – https://gerrit.wikimedia.org/r/c/991018
- Extension:ChessBrowser – https://gerrit.wikimedia.org/r/c/990404
- Extension:GuidedTour – https://gerrit.wikimedia.org/r/c/991023
- Extension:Kartographer – https://gerrit.wikimedia.org/r/c/990403
- Extension:MultimediaViewer – https://gerrit.wikimedia.org/r/c/990742
- Extension:Thanks – https://gerrit.wikimedia.org/r/c/990743
- Extension:TimedMediaHandler– https://gerrit.wikimedia.org/r/c/990772
- Extension:Translate – https://gerrit.wikimedia.org/r/c/991013
- Extension:UniversalLanguageSelector – https://gerrit.wikimedia.org/r/c/991014
- Skin:MonoBook – https://gerrit.wikimedia.org/r/c/990786
- Skin:Timeless – https://gerrit.wikimedia.org/r/c/990787
- StarCitizenTools/mediawiki-skins-Citizen
- VisualEditor core
Extension:Wikibase uses cssnano, which itself uses outdated version svgo 2.8.0
Note, that I've also filed a task report for femiwiki repos, that are listed in CodeSearch.