Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


An ESlint rule plugin companion to babel-eslint

Subscribe to updates I use eslint-plugin-babel

Statistics on eslint-plugin-babel

Number of watchers on Github 244
Number of open issues 29
Average time to close an issue about 1 month
Main language JavaScript
Average time to merge a PR 3 days
Open pull requests 26+
Closed pull requests 18+
Last commit over 2 years ago
Repo Created over 4 years ago
Repo Last Updated almost 2 years ago
Size 122 KB
Organization / Authorbabel
Latest Releasev4.1.2
Page Updated
Do you use eslint-plugin-babel? Leave a review!
View open issues (29)
View eslint-plugin-babel activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating eslint-plugin-babel for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


An eslint plugin companion to babel-eslint. babel-eslint does a great job at adapting eslint for use with Babel, but it can't change the built in rules to support experimental features. eslint-plugin-babel re-implements problematic rules so they do not give false positives or negatives.

Requires Node 4 or greater


npm install eslint-plugin-babel --save-dev

Load the plugin in your .eslintrc file:

  "plugins": [

Finally enable all the rules you would like to use (remember to disable the original ones as well!).

  "rules": {
    "babel/new-cap": 1,
    "babel/object-curly-spacing": 1,
    "babel/no-invalid-this": 1,
    "babel/semi": 1


Each rule corresponds to a core eslint rule, and has the same options.

: means it's autofixable with --fix.

  • babel/new-cap: Ignores capitalized decorators (@Decorator)
  • babel/object-curly-spacing: doesn't complain about export x from "mod"; or export * as x from "mod"; ()
  • babel/no-invalid-this: doesn't fail when inside class properties (class A { a = this.b; })
  • babel/semi: doesn't fail when using for await (let something of {}). Includes class properties ()


eslint-plugin-babel open issues Ask a question     (View All Issues)
  • over 3 years Deprecate upstreamed rules
  • over 3 years Is there a reason for maintaining a lonely babel/flow-object-type rule?
  • over 3 years Have individual documentation pages for each rule
  • over 3 years Support modifier `requireForBlockBody` for rule `arrow-parens`
  • over 3 years `no-multi-spaces` does not support ES7 class properties
  • over 3 years Function bind operator fails `no-invalid-this` rule
  • over 3 years What to do about keeping up to date with an existing eslint rule?
  • over 3 years object-shorthand doesn't allow optional parameters
  • almost 4 years [array-callback-return] an async function should be considered a proper return
  • almost 4 years no-duplicate-imports rule for Flow type imports
  • almost 4 years Infix spacing for static class properties
  • about 4 years generator-star-spacing - Unexpected space after *
  • about 4 years Suggestion: babel/require-jsdoc (built-in require-jsdoc + @decorator not working)
  • about 4 years Rule Suggestion: Require semicolon after class static properties
  • about 4 years Type declarations should be marked as hoisted at the top of the file
  • over 4 years Catch unary operator after keyword await as error
  • over 4 years Add a decorator-undef-shorthand-prop rule.
  • over 4 years `comma-dangle` on for loop + destructuring declaration
  • over 4 years `no-extra-parens` with async IIFE
  • over 4 years `padded-blocks` with decorators
  • over 4 years curly spacing and defaultMember and members on one line
  • over 4 years `no-unused-expressions` with do syntax
eslint-plugin-babel open pull requests (View All Pulls)
  • Implement a fixer for arrow-parens
  • Add allow-decorator-macro rule as an exception to no-undef
  • eslint@3.6.0 breaks build ⚠️
  • Add `requireForBlockBody` modifier for `arrow-parens`
  • Enable func-params-comma-dangle arrow function tests
  • add not-rest-params option
  • eslint@3.8.1 breaks build ⚠️
  • eslint@3.8.0 breaks build ⚠️
  • mocha@3.1.2 breaks build ⚠️
  • mocha@3.1.1 breaks build ⚠️
  • Added `babel/no-invalid-this`
  • Fix arrow-parens "as-needed" return type annotations
  • Update babel-eslint to version 7.0.0 🚀
  • mocha@3.1.0 breaks build ⚠️
  • Update dependencies to enable Greenkeeper 🌴
  • 👻😱 Node.js 0.10 is unmaintained 😱👻
  • Update babel-eslint to version 7.1.0 🚀
  • Updated Node versions to test against in the Travis configuration
  • Allow disabling new-cap on object properties
  • fix #48
  • Add `no-shadow-restricted-names` rule (optional catch binding)
  • add no-unused-expressions with do expressions support
  • Update mocha to the latest version 🚀
  • Update babel-eslint to the latest version 🚀
  • Update eslint to the latest version 🚀
  • Update semi rule using eslint-rule-composer
eslint-plugin-babel list of languages used
eslint-plugin-babel latest release notes
v4.1.2 v4.1.2

Bug Fix


babel/semi: doesn't fail when using for await (let something of {}). Includes class properties

v4.1.1 v4.1.1


  • Deprecate rule no-await-in-loop #123

Thanks to @daltones!

v4.1.0 v4.1.0


  • babel/semi: Includes class properties ( ) #121

Thanks to @aaronjensen

Other projects in JavaScript