MobileFrontend, MinervaNeue, and Popups each contain approximately the same lengthy svgmin config and script or Gruntfile. This task encompasses the work to consolidate and move the config and the checker script to a new repo under wikimedia and publish a new NPM package under @wikimedia and replace the duplicate code in MobileFrontend, MinervaNeue, and Popups (don't forget to uninstall the grunt-svgmin package). The new checker should be invoked as a pre-commit hook. This task will also involve re-reading the svgmin configuration documentation to have reasonable due diligence that our configuration and usage are up to date.
See also:
- https://www.mediawiki.org/wiki/Manual:Coding_conventions/SVG#Exemplified_safe_configuration:
- https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/MobileFrontend/+/master/.svgo.yml
- https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/MobileFrontend/+/master/dev-scripts/svg_check.sh
- https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/skins/MinervaNeue/+/master/.svgo.yml
- https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/skins/MinervaNeue/+/master/dev-scripts/svg_check.sh
- https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Popups/+/master/Gruntfile.js#11
- https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Popups/+/master/.svgo.json