JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 744668
  • Score
    100M100P100Q175955F
  • License MIT

an eslint rule plugin companion to babel-eslint

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 correctly
  • babel/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 about export x from "mod"; or export * 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 loop
  • babel/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 }).
  • babel/func-params-comma-dangle: Require or forbid trailing commas for function paramater lists. Behaves like, and takes the same options as, eslint's comma-dangle. (🛠 )