ESLint plugin (v4.0.3) that enforces EditorConfig rules using existing ESLint and optional @typescript-eslint rules. Released under MIT, updated ~monthly. Key differentiator: automatically reads .editorconfig and applies charset, indent, linebreak, trailing spaces, and eol-last rules, avoiding duplicate configuration. Since v4.0.0, @typescript-eslint/eslint-plugin is no longer a dependency; must be installed separately for TS files. Supports ESLint 8.x, Flat config (v4+), and offers 'all' and 'noconflict' configs.
npm install eslint-plugin-editorconfigVerified import paths — ran on the pinned version, not inferred.
Shows minimal setup with all rules enabled via 'plugin:editorconfig/all' and a sample .editorconfig file.
If you lint TypeScript files, run: npm install --save-dev @typescript-eslint/eslint-plugin
Use individual rules (charset, eol-last, indent, linebreak-style, no-trailing-spaces) or extend 'plugin:editorconfig/all'
Use import editorconfig from 'eslint-plugin-editorconfig'; then export default [...editorconfig.configs.recommended]
Either remove those rules from config or extend 'plugin:editorconfig/noconflict' to disable them
Update to Node >=14 and ESLint >=8
Run: npm install --save-dev eslint-plugin-editorconfig
Ensure 'editorconfig' is in plugins array and extends string is 'plugin:editorconfig/all'
Use: import editorconfig from 'eslint-plugin-editorconfig' (ESM) or const editorconfig = require('eslint-plugin-editorconfig') (CJS) in eslint.config.js