<!-- Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. The two fields below are mandatory. --> **Note: this PR should not be merged yet.** SVGO v4 is still a release candidate for now. I just wanted to help with migrating, and to review the migration to SVGO v4 to see if there'd be any regressions downstream that we didn't spot in our testing. ## Summary <!-- Explain the **motivation** for making this change. What existing problem does the pull request solve? --> Migrate to SVGO v4. * SVGO is now an ESM module. (Common JS is still supported.) * [removeViewBox](https://svgo.dev/docs/plugins/removeViewBox) and [removeTitle](https://svgo.dev/docs/plugins/removeTitle) are no longer part of preset-default. * we disabled removeViewBox to preserve scalability (can be enabled via SVGO config) * we disabled removeTitle to preserve accessibility (can be enabled via SVGO config) * Renames removeScriptElement to removeScripts (in v4.0.0-rc.1, we internally rewrite the old name to the new one, so this shouldn't be a breaking change for you, even if users were using this plugin) * Introduces various bug fixes, optimizations, etc. All recent release and changelogs can be seen in the repo: https://github.com/svg/svgo/releases ### Changes * When testing the SVGO config, enables removeTitle instead of disabling it, so that it's different from the default settings. * Removes tests to disable removeViewBox as it's already disabled and the `override.removeViewBox` property is no longer part of the schema. ### Breaking Changes * Updates engine for Node.js to v16 as SVGO v4 dropped support for Node.js v14. --- CI failure is due to Vercel dropping support for Node v16, so it's unable to deploy a preview.
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be still under discussion. The issue was opened by SethFalco and has received 1 comments.