PHPackages                             automattic/eslint-config-target-es - 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. automattic/eslint-config-target-es

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

automattic/eslint-config-target-es
==================================

v6.0.0(2mo ago)52.6k↑248.6%1GPL-2.0-or-laterJavaScriptCI passing

Since Nov 17Pushed 2d ago3 watchersCompare

[ Source](https://github.com/Automattic/eslint-config-target-es)[ Packagist](https://packagist.org/packages/automattic/eslint-config-target-es)[ RSS](/packages/automattic-eslint-config-target-es/feed)WikiDiscussions trunk Synced today

READMEChangelogDependencies (2)Versions (20)Used By (0)

eslint-config-target-es
=======================

[](#eslint-config-target-es)

ESLint shareable config to activate [eslint-plugin-es-x](https://www.npmjs.com/package/eslint-plugin-es-x) checks based on [browserslist](https://www.npmjs.com/package/browserslist) browser targets and [MDN browser compatibility data](https://www.npmjs.com/package/@mdn/browser-compat-data).

Installation
------------

[](#installation)

Generally you'll install this via your package manager, e.g.

```
npm install --save-dev eslint eslint-plugin-es-x @automattic/eslint-config-target-es

```

Usage
-----

[](#usage)

First, you'll probably want to set up a [browserslist](https://www.npmjs.com/package/browserslist) configuration.

Then you can use this like any other sharable config in your `eslint.config.js` or `.eslintrc.*` file. Three configurations are offered.

- To check only for language features, such as nullish coalescing, use the 'language' config.
- To check only for builtins, such as Promise, WeakRef, and various features of RegExp, use the 'builtins' config.
- To check both, use the 'all' config.

For `eslint.config.js`, that might look like this:

```
import eslintConfigTargetEs from '@automattic/eslint-config-target-es/flat/language';

export default [
	eslintConfigTargetEs,
	// etc
];
```

while for eslintrc you'd do like

```
{
	extends: [ '@automattic/eslint-config-target-es/rc/language' ],
}
```

For backwards compatibility, the eslintrc configs may also be accessed without the `/rc/` path component (e.g. as `@automattic/eslint-config-target-es/language`), and `@automattic/eslint-config-target-es` is equivalent to `@automattic/eslint-config-target-es/rc/all`.

### Checking built files

[](#checking-built-files)

If you want to check your built files to make sure you didn't omit transpiling any packages that need transpiling, you might create a `validate-es.config.js` like this

```
module.exports = {
	root: true,
	extends: [ '@automattic/eslint-config-target-es/rc/language' ],
	env: {
		// Whatever environments you need.
	},
};
```

and then run eslint like

```
eslint --no-eslintrc --no-inline-config --config validate-es.config.js --no-ignore build/

```

to avoid your standard eslintrc and eslintignore and to avoid errors from any inline directives.

Something similar can be done for flat config.

### Advanced usage

[](#advanced-usage)

You can import or require `@automattic/eslint-config-target-es/functions` to gain access to some functions that can be used to build your own configuration.

As browserslist and MDN use different browser codes, `getAllBrowsers( { query: } )` will take a browserslist query and return an object with the MDN browser codes and the matched versions for each.

`getRules( { query:, builtins: } )` will return the rules config. Set `builtins` true for "builtins", false for "language", or null/undefined for "all".

### Caveats

[](#caveats)

Some browsers supported by browserslist are not availble in the MDN data (e.g. Opera Mini) or are no longer being updated (e.g. Internet Explorer). In cases like these where no data is available, features are assumed to be supported. Set the environment variable `DEBUG=@automattic/eslint-config-target-es:warn` to generate messages when this happens.

Security
--------

[](#security)

Need to report a security vulnerability? Go to  or directly to our security bug bounty site .

License
-------

[](#license)

eslint-config-target-es is licensed under [GNU General Public License v2 (or later)](./LICENSE.txt)

\--

###  Health Score

53

—

FairBetter than 96% of packages

Maintenance93

Actively maintained with recent releases

Popularity26

Limited adoption so far

Community25

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 66.7% 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.

###  Release Activity

Cadence

Every ~100 days

Recently: every ~84 days

Total

17

Last Release

82d ago

Major Versions

v1.0.6 → v2.0.02023-06-26

v2.2.2 → v3.0.02025-05-13

v3.0.0 → v4.0.02025-08-06

v4.0.1 → v5.0.02026-01-12

v5.0.0 → v6.0.02026-04-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/7c5869ecbb8e0eac7e8b8e0f3cf7bdd8d5fcdc4abc10a72281872c53f8639d44?d=identicon)[automattic](/maintainers/automattic)

![](https://www.gravatar.com/avatar/11609890f6e7a840715f4cfc9622d77ea64b7dfc024df5643fbf8471a18c00f3?d=identicon)[kraft](/maintainers/kraft)

![](https://www.gravatar.com/avatar/5326730499ec14e274f51b9bcc39db6aac0fb38b33849715aae0e2587a2b93df?d=identicon)[jeherve](/maintainers/jeherve)

![](https://www.gravatar.com/avatar/6e220e167e341c28b1aa10bf0bb0374999068329f8683d3187ee3cf6749b8837?d=identicon)[dereksmart](/maintainers/dereksmart)

---

Top Contributors

[![anomiex](https://avatars.githubusercontent.com/u/1030580?v=4)](https://github.com/anomiex "anomiex (208 commits)")[![tbradsha](https://avatars.githubusercontent.com/u/32492176?v=4)](https://github.com/tbradsha "tbradsha (36 commits)")[![zinigor](https://avatars.githubusercontent.com/u/374293?v=4)](https://github.com/zinigor "zinigor (11 commits)")[![manzoorwanijk](https://avatars.githubusercontent.com/u/18226415?v=4)](https://github.com/manzoorwanijk "manzoorwanijk (10 commits)")[![samiff](https://avatars.githubusercontent.com/u/15803018?v=4)](https://github.com/samiff "samiff (9 commits)")[![kraftbj](https://avatars.githubusercontent.com/u/88897?v=4)](https://github.com/kraftbj "kraftbj (5 commits)")[![jeherve](https://avatars.githubusercontent.com/u/426388?v=4)](https://github.com/jeherve "jeherve (5 commits)")[![sdixon194](https://avatars.githubusercontent.com/u/33553323?v=4)](https://github.com/sdixon194 "sdixon194 (3 commits)")[![gmjuhasz](https://avatars.githubusercontent.com/u/36671565?v=4)](https://github.com/gmjuhasz "gmjuhasz (3 commits)")[![coder-karen](https://avatars.githubusercontent.com/u/16754605?v=4)](https://github.com/coder-karen "coder-karen (2 commits)")[![ice9js](https://avatars.githubusercontent.com/u/8056203?v=4)](https://github.com/ice9js "ice9js (2 commits)")[![simison](https://avatars.githubusercontent.com/u/87168?v=4)](https://github.com/simison "simison (2 commits)")[![adimoldovan](https://avatars.githubusercontent.com/u/3854374?v=4)](https://github.com/adimoldovan "adimoldovan (1 commits)")[![adamwoodnz](https://avatars.githubusercontent.com/u/1017872?v=4)](https://github.com/adamwoodnz "adamwoodnz (1 commits)")[![nunyvega](https://avatars.githubusercontent.com/u/16329583?v=4)](https://github.com/nunyvega "nunyvega (1 commits)")[![paulopmt1](https://avatars.githubusercontent.com/u/1044309?v=4)](https://github.com/paulopmt1 "paulopmt1 (1 commits)")[![psealock](https://avatars.githubusercontent.com/u/1922453?v=4)](https://github.com/psealock "psealock (1 commits)")[![chihsuan](https://avatars.githubusercontent.com/u/4344253?v=4)](https://github.com/chihsuan "chihsuan (1 commits)")[![sergeymitr](https://avatars.githubusercontent.com/u/1341249?v=4)](https://github.com/sergeymitr "sergeymitr (1 commits)")[![CGastrell](https://avatars.githubusercontent.com/u/157240?v=4)](https://github.com/CGastrell "CGastrell (1 commits)")

### Embed Badge

![Health badge](/badges/automattic-eslint-config-target-es/health.svg)

```
[![Health](https://phpackages.com/badges/automattic-eslint-config-target-es/health.svg)](https://phpackages.com/packages/automattic-eslint-config-target-es)
```

###  Alternatives

[dmind/cookieman

Provides a user consent popup. It asks for approval to include tracking objects (cookies, images or any HTML) and includes the objects when consented. It also removes cookies after the consent has been revoked.

37201.5k](/packages/dmind-cookieman)[sweetalert2/laravel

Official SweetAlert2 integration for Laravel framework

4029.0k](/packages/sweetalert2-laravel)[jonom/silverstripe-share-care

Social media sharing previews and customisation for Silverstripe

3033.5k1](/packages/jonom-silverstripe-share-care)[silvershop/silverstripe-listsorter

Easily provide front-end sorting controls for SilverStripe lists

1643.4k6](/packages/silvershop-silverstripe-listsorter)

PHPackages © 2026

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