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
==================================

v5.0.0(4mo ago)51.3k↑466.7%1GPL-2.0-or-laterJavaScriptCI passing

Since Nov 17Pushed 1mo 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 1mo ago

READMEChangelogDependencies (1)Versions (19)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

50

—

FairBetter than 96% of packages

Maintenance84

Actively maintained with recent releases

Popularity26

Limited adoption so far

Community25

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 66.4% 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 ~101 days

Recently: every ~85 days

Total

16

Last Release

121d 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

### 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 (192 commits)")[![tbradsha](https://avatars.githubusercontent.com/u/32492176?v=4)](https://github.com/tbradsha "tbradsha (30 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)")[![ice9js](https://avatars.githubusercontent.com/u/8056203?v=4)](https://github.com/ice9js "ice9js (2 commits)")[![coder-karen](https://avatars.githubusercontent.com/u/16754605?v=4)](https://github.com/coder-karen "coder-karen (2 commits)")[![jcheringer](https://avatars.githubusercontent.com/u/7811225?v=4)](https://github.com/jcheringer "jcheringer (1 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)")[![simison](https://avatars.githubusercontent.com/u/87168?v=4)](https://github.com/simison "simison (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

[datacreativa/laravel-presentable

Create presenters for Eloquent Models

7323.9k](/packages/datacreativa-laravel-presentable)[dcarbone/soap-plus

PHP SoapClient wrapper class

2450.1k](/packages/dcarbone-soap-plus)[symbiote/silverstripe-datachange-tracker

Record and track changes to any dataobjects. View chages/diffs in model admin.

1622.7k3](/packages/symbiote-silverstripe-datachange-tracker)[rcastera/session

Session Class

222.2k](/packages/rcastera-session)

PHPackages © 2026

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