eslint-plugin-editorconfig
v4.0.3
Published
An ESLint plugin to enforce EditorConfig rules
Downloads
71,189
Maintainers
Readme
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 theplugins
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.
| Rule | Description | Fixable | | ------------------------------------------------------------------- | --------------------------------------------------------------- | -- | | editorconfig/charset | Enforce EditorConfig rules for charset | ✅ | | editorconfig/eol-last | Enforce EditorConfig rules for the newlines at the end of files | ✅ | | editorconfig/indent | Enforce EditorConfig rules for indentation | ✅ | | editorconfig/linebreak-style | Enforce EditorConfig rules for linebreak style | ✅ | | editorconfig/no-trailing-spaces | Enforce EditorConfig rules for trailing spaces | ✅ |
License & Credit
This plugin includes code derived from klona.