# eslint-plugin-es-x

> ESLint plugin about ECMAScript syntactic features.

Latest version **10.0.0** (published 2026-07-06) · MIT license · 0 weekly downloads

## Install

```sh
npm install eslint-plugin-es-x
pnpm add eslint-plugin-es-x
yarn add eslint-plugin-es-x
bun add eslint-plugin-es-x
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 10.0.0 |
| Published | 2026-07-06 |
| First published | 2022-03-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | ^22.23.0 \|\| ^24.18.0 \|\| >=26.4.0 |
| Dependencies | 3 |
| Unpacked size | 927.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 156 |
| Author | Toru Nagashima |
| Maintainers | michaeldeboey, eslint-community-bot |
| Keywords | eslint, plugin, eslintplugin |

## Links

- npm: https://www.npmjs.com/package/eslint-plugin-es-x
- Repository: https://github.com/eslint-community/eslint-plugin-es-x
- Homepage: https://github.com/eslint-community/eslint-plugin-es-x#readme
- Issues: https://github.com/eslint-community/eslint-plugin-es-x/issues
- Funding: https://github.com/sponsors/ota-meshi
- npm.io page: https://npm.io/package/eslint-plugin-es-x

## Dependencies (3)

- [eslint-type-tracer](https://npm.io/package/eslint-type-tracer.md) ^0.5.1
- [@eslint-community/regexpp](https://npm.io/package/@eslint-community/regexpp.md) ^4.12.1
- [@eslint-community/eslint-utils](https://npm.io/package/@eslint-community/eslint-utils.md) ^4.1.2

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 10.0.0 (latest) — 2026-07-06
- 9.7.0 — 2026-06-19
- 9.6.0 — 2026-03-22
- 9.5.0 — 2026-02-22
- 9.4.1 — 2026-02-19
- 9.4.0 — 2026-02-07
- 9.3.0 — 2025-12-04
- 9.2.0 — 2025-11-22
- 9.1.2 — 2025-10-21
- 9.1.1 — 2025-10-11
- 9.1.0 — 2025-08-26
- 9.0.0 — 2025-07-10
- 8.7.0 — 2025-06-06
- 8.6.2 — 2025-04-29
- 8.6.1 — 2025-03-19
- … 29 more at https://npm.io/package/eslint-plugin-es-x/versions

## README

# eslint-plugin-es-x

[![npm version](https://img.shields.io/npm/v/eslint-plugin-es-x.svg)](https://www.npmjs.com/package/eslint-plugin-es-x)
[![Downloads/month](https://img.shields.io/npm/dm/eslint-plugin-es-x.svg)](https://www.npmtrends.com/eslint-plugin-es-x)
[![Build Status](https://github.com/eslint-community/eslint-plugin-es-x/actions/workflows/ci.yml/badge.svg)](https://github.com/eslint-community/eslint-plugin-es-x/actions)

ESLint plugin which disallows each ECMAScript syntax.

> Forked from [eslint-plugin-es](https://github.com/mysticatea/eslint-plugin-es). As the original repository seems [no longer maintained](https://github.com/mysticatea/eslint-plugin-es/issues/72).

## 🏁 Goal

[Espree](https://github.com/eslint/espree#readme), the default parser of [ESLint](https://eslint.org/), has supported `ecmaVersion` option.
However, the error messages of new syntax are not readable (e.g., "unexpected token" or something like).

When we use this plugin along with the latest `ecmaVersion` option value, it tells us the readable error message for the new syntax, such as "ES2020 BigInt is forbidden."
Plus, this plugin lets us disable each syntactic feature individually.

## 📖 Usage

See [documentation](https://eslint-community.github.io/eslint-plugin-es-x/)

## 🚥 Semantic Versioning Policy

This plugin follows [semantic versioning](https://semver.org/) and [ESLint's semantic versioning policy](https://github.com/eslint/eslint#semantic-versioning-policy).

- We will release a new minor version to add new rules when TC39 decided to advance proposals to Stage 4. In the minor releases, we don't update configs.
- We will release a new major version to update configs when new ECMAScript snapshots are available.

## 📰 Changelog

See [releases](https://github.com/eslint-community/eslint-plugin-es-x/releases).

## ❤️ Contributing

Welcome contributing!

Please use GitHub's Issues/PRs.

### Development Tools

- `npm run build` emits ESM and CommonJS publish output into `dist` (not committed).
- `npm test` runs tests and measures coverage.
- `npm run clean` removes the coverage result of `npm test` command.
- `npm run coverage` shows the coverage result of the last `npm test` command.
- `npm run docs:build` builds documentation.
- `npm run docs:watch` builds documentation on each file change.
- `npm run watch` runs tests on each file change.

---
_Source: https://npm.io/package/eslint-plugin-es-x · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
