eslint-plugin-editorconfig
An ESLint plugin to enforce EditorConfig rules
Install
$ npm install --save-dev eslint eslint-plugin-editorconfig
or
$ yarn add --dev eslint eslint-plugin-editorconfig
If you use typescript-eslint, you need to install @typescript-eslint/eslint-plugin
too.
$ npm install --save-dev @typescript-eslint/eslint-plugin
Usage
Like other ESLint plugins,
- add rules in the
rules
- add
"editorconfig"
in the plugins
in your .eslintrc*
{
"rules": {
"editorconfig/charset": "error",
"editorconfig/eol-last": "error",
"editorconfig/indent": "error",
"editorconfig/linebreak-style": "error",
"editorconfig/no-trailing-spaces": "error"
},
"plugins": [ "editorconfig" ]
}
Or you can extend plugin:editorconfig/all
instead of adding rules.
{
"extends": [ "plugin:editorconfig/all" ],
"plugins": [ "editorconfig" ]
}
Conflicting ESLint rules
Following rules may conflict editorconfig/*
rule.
It is recommended to disable them.
eol-last
indent
linebreak-style
no-trailing-spaces
unicode-bom
@typescript-eslint/eol-last
@typescript-eslint/indent
@typescript-eslint/linebreak-style
@typescript-eslint/no-trailing-spaces
@typescript-eslint/unicode-bom
If above rules are specified in your .eslintrc, just remove them.
If they are specified in the extended config, consider adding plugin:editorconfig/noconflict
to your extends
.
{
"extends": [
"@phanect/phanective",
"plugin:editorconfig/noconflict"
],
}
If you extend plugin:editorconfig/all
, the rules above are turned off too, so you don't have to add plugin:editorconfig/noconflict
in addition to plugin:editorconfig/all
.
Rules
Internally, eslint-plugin-editorconfig uses the existing ESLint and typescript-eslint rules to verify/fix the code.
Some rules allow passing options.
All the citation in the docs is from the backend ESLint rule document otherwise noted.
License & Credit
MIT
This plugin includes code derived from klona.