PHPackages                             gared/polyless - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. gared/polyless

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

gared/polyless
==============

Composer plugin that removes unnecessary Symfony polyfill packages

00PHPCI passing

Since Jun 27Pushed todayCompare

[ Source](https://github.com/Gared/polyless)[ Packagist](https://packagist.org/packages/gared/polyless)[ RSS](/packages/gared-polyless/feed)WikiDiscussions main Synced today

READMEChangelog (3)DependenciesVersions (1)Used By (0)

polyless
========

[](#polyless)

`polyless` is a Composer plugin that marks unnecessary `symfony/polyfill-*` packages as replaced by the root project and removes their package candidates from Composer's pool.

What it does
------------

[](#what-it-does)

The current basic implementation disables polyfills when one of these conditions is true:

- the project's PHP constraint guarantees a version that already contains the feature set of a `symfony/polyfill-phpXY` package
- the root project explicitly requires the corresponding extension, for example `ext-mbstring` for `symfony/polyfill-mbstring`
- `config.platform.php` or configured `ext-*` platform entries provide the same guarantee

Direct root requirements for a specific `symfony/polyfill-*` package are left untouched.

Usage
-----

[](#usage)

Add this package to your project dev dependencies:

```
composer require --dev gared/polyless
```

You need to allow this package to run as a plugin!

After that run:

```
composer update symfony/polyfill-*
```

to remove any unnecessary polyfill packages from your project.

Current examples
----------------

[](#current-examples)

### PHP polyfills

[](#php-polyfills)

If your project requires PHP 8.5:

```
{
  "require": {
    "php": "^8.5"
  }
}
```

then the plugin can replace packages such as:

- `symfony/polyfill-php80`
- `symfony/polyfill-php81`
- `symfony/polyfill-php82`
- `symfony/polyfill-php83`
- `symfony/polyfill-php84`
- `symfony/polyfill-php85`

If your project requires `ext-intl`, polyfills such as `symfony/polyfill-intl-grapheme` and `symfony/polyfill-intl-normalizer` can also be skipped.

### Extension polyfills

[](#extension-polyfills)

If you composer.lock contains `symfony/polyfill-mbstring` you can run the following command to require the `ext-mbstring` extension instead (of course you need to have the PHP extension installed):

```
composer require ext-mbstring
```

this will automatically remove the `symfony/polyfill-mbstring` package from your project.

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance65

Regular maintenance activity

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/fe880ade7a73b9be4c0eef970996af088c993f0b4e2af8f86cbb91b93b51461d?d=identicon)[gared](/maintainers/gared)

---

Top Contributors

[![Gared](https://avatars.githubusercontent.com/u/913630?v=4)](https://github.com/Gared "Gared (6 commits)")

---

Tags

composerphppolyfillsymfony

### Embed Badge

![Health badge](/badges/gared-polyless/health.svg)

```
[![Health](https://phpackages.com/badges/gared-polyless/health.svg)](https://phpackages.com/packages/gared-polyless)
```

###  Alternatives

[eve/dto

Simplistic, flexible Data Transfer Object library

1214.8k](/packages/eve-dto)[elegantly/laravel-kpi

Advanced KPI for your Laravel application

174.4k1](/packages/elegantly-laravel-kpi)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
