ESLint plugin that disallows specific ECMAScript syntactic features individually, providing readable error messages (e.g., 'ES2020 BigInt is forbidden') instead of Espree's generic 'unexpected token'. Current stable version 4.1.0 (released 2021-09-12). Released under semantic versioning: minor versions add rules for newly stage-4 proposals, major versions update configs for new ECMAScript snapshots. Key differentiator: granular control over every ES feature with per-rule disabling/enabling, plus presets like 'es/no-new-in-es2020' and 'es/restrict-to-es2020'. Requires eslint >= 4.19.1.
Verified import paths — ran on the pinned version, not inferred.
CommonJS is default; ESM import may work depending on Node.js version and module resolution, but CJS is guaranteed.
Rules are exported directly on the plugin object, not from a subpath.
Configs are exported as a property of the plugin, not a separate module.
Configures eslint-plugin-es with both a preset (es/no-new-in-es2020) and an individual rule (no-for-of-loops).
Breaking-change detection hasn't run for this library yet.
CVE tracking and dependency tree are planned for a later release.