eslint-plugin-editorconfig

4.0.3 • Public • Published

eslint-plugin-editorconfig

An ESLint plugin to enforce EditorConfig rules

CircleCI NPM Version

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.

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

MIT

This plugin includes code derived from klona.

Package Sidebar

Install

npm i eslint-plugin-editorconfig

Weekly Downloads

18,354

Version

4.0.3

License

MIT

Unpacked Size

23.4 kB

Total Files

26

Last publish

Collaborators

  • phanect