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.
npm install eslint-plugin-esVerified import paths — ran on the pinned version, not inferred.
Configures eslint-plugin-es with both a preset (es/no-new-in-es2020) and an individual rule (no-for-of-loops).
Update config references: 'plugin:es/no-2018' → 'plugin:es/no-new-in-es2018' or 'plugin:es/restrict-to-es2018'.
Ensure Node.js version >= 8.10.0 (v4) or >= 6 (v1.x).
Use individual rules from newer versions if finer control is needed; rule still works.
If you need to disallow ES built-in methods, consider using eslint-plugin-es-x (a fork with extended rules) or no-restricted-globals.
Review rule documentation for fixability before relying on --fix.
Run 'npm install eslint-plugin-es --save-dev'. Ensure it's in package.json devDependencies.
Use 'error' (string) or 2 (number) in config, e.g., 'es/no-for-of-loops': 'error'.
Check the rule list for your installed version. Run 'npm list eslint-plugin-es' and consult the documentation for available rules.