Package Exports
- eslint-plugin-babel
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (eslint-plugin-babel) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
eslint-plugin-babel
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.
Install
npm install eslint-plugin-babel -D
Load the plugin in your .eslintrc
file:
{
"plugins": [
"babel"
]
}
Finally enable all the rules you would like to use (remember to disable the original ones as well!).
{
"rules": {
"babel/generator-star-spacing": 1,
"babel/new-cap": 1,
"babel/array-bracket-spacing": 1,
"babel/object-curly-spacing": 1,
"babel/object-shorthand": 1,
"babel/arrow-parens": 1,
"babel/no-await-in-loop": 1,
"babel/flow-object-type": 1,
"babel/func-params-comma-dangle": 1
}
}
Rules
Each rule corresponds to a core eslint
rule, and has the same options.
🛠 : means it's autofixable with --fix
.
babel/generator-star-spacing
: Handles async/await functions correctlybabel/new-cap
: Ignores capitalized decorators (@Decorator
)babel/array-bracket-spacing
: Handles destructuring arrays with flow type in function parameters (🛠 )babel/object-curly-spacing
: doesn't complain aboutexport x from "mod";
orexport * as x from "mod";
(🛠 )babel/object-shorthand
: doesn't fail when using object spread (...obj
)babel/arrow-parens
: Handles async functions correctly (🛠 )
The following rules are not in eslint
, but are relevant only to syntax that is not specified by
the current JavaScript standard or supported by eslint
.
babel/no-await-in-loop
: guard against awaiting async functions inside of a loopbabel/flow-object-type
: Require a particular separator between properties in Flow object types. (🛠 )- Use the option
semicolon
to require semicolons (e.g.type Foo = { bar: number; baz: string }
). - Use the option
comma
to require commas (e.g.type Foo = { bar: number, baz: string }
).
- Use the option
babel/func-params-comma-dangle
: Require or forbid trailing commas for function paramater lists. Behaves like, and takes the same options as,eslint
'scomma-dangle
. (🛠 )