sdkiller / polyfills-no-more
Get rid of unnesessary polyfills
Requires
- php: >=8.5
Replaces
- ircmaxell/password-compat: *
- paragonie/random_compat: *
- paragonie/sodium_compat: *
- ralouphie/getallheaders: *
- symfony/deprecation-contracts: *
- symfony/polyfill-apcu: *
- symfony/polyfill-ctype: *
- symfony/polyfill-iconv: *
- symfony/polyfill-intl-grapheme: *
- symfony/polyfill-intl-icu: *
- symfony/polyfill-intl-idn: *
- symfony/polyfill-intl-messageformatter: *
- symfony/polyfill-intl-normalizer: *
- symfony/polyfill-mbstring: *
- symfony/polyfill-php73: *
- symfony/polyfill-php74: *
- symfony/polyfill-php80: *
- symfony/polyfill-php81: *
- symfony/polyfill-php82: *
- symfony/polyfill-php83: *
- symfony/polyfill-php84: *
- symfony/polyfill-php85: *
- symfony/polyfill-util: *
- symfony/polyfill-uuid: *
This package is auto-updated.
Last update: 2026-03-10 06:25:26 UTC
README
Many 3rd-party packages tend to overbloat your vendor directory with unnesessary polyfills. Along of wasting extra disk space, your also have to deal with warnings like "Duplicate declaration of function ..." in your IDE and broken autocompletion.
This is mostly common case with Symfony components (or packages, using Symfony components), but not only. While the authors of such packages find "good enough" arguments to explain their approach, IMHO, it is doubtful and outdated. Today it is a very rare case, that your provider does not allow you to install mbstring or iconv extension, etc. With modern containerization techniques you can create any environment nesessary for you project. And arguments like "some projects run php 5.3 but want to use some features from php 8.5" are mostly ridiculous, You Arent Gonna Need It. Rare real-world cases of usage of polyfills is not an excuse to explicitly put them into "require" section of that packages.
So, while you are probably will not be able to convince the authors of such packages, you can simply get rid of unnesessary dependencies.