Socket
Socket
Sign inDemoInstall

@babel/eslint-plugin

Package Overview
Dependencies
145
Maintainers
4
Versions
32
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @babel/eslint-plugin

Companion rules for @babel/eslint-parser


Version published
Weekly downloads
357K
increased by4.25%
Maintainers
4
Install size
45.3 kB
Created
Weekly downloads
 

Changelog

Source

v7.23.5 (2023-11-29)

:eyeglasses: Spec Compliance
  • babel-plugin-proposal-decorators
    • #16138 Class binding is in TDZ during decorators initialization (@nicolo-ribaudo)
  • babel-helpers, babel-plugin-proposal-decorators
:bug: Bug Fix
  • babel-traverse, babel-types
  • babel-plugin-transform-classes
  • babel-generator
  • babel-helpers
  • babel-helper-create-class-features-plugin, babel-plugin-transform-class-properties, babel-plugin-transform-typescript
  • babel-generator, babel-plugin-transform-modules-commonjs, babel-plugin-transform-parameters, babel-plugin-transform-typescript, babel-traverse
  • babel-eslint-plugin
:microscope: Output optimization

Readme

Source

@babel/eslint-plugin

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

Requires Node 10.13 or greater

Install

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

Load the plugin in your .eslintrc.json file:

{
  "plugins": ["@babel"]
}

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

{
  "rules": {
    "@babel/new-cap": "error",
    "@babel/no-invalid-this": "error",
    "@babel/no-undef": "error",
    "@babel/no-unused-expressions": "error",
    "@babel/object-curly-spacing": "error",
    "@babel/semi": "error"
  }
}

Rules

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

🛠: means it's autofixable with --fix.

  • @babel/new-cap: handles decorators (@Decorator)
  • @babel/no-invalid-this: handles class fields and private class methods (class A { a = this.b; })
  • @babel/no-undef: handles class accessor properties (class A { accessor x = 2 })
  • @babel/no-unused-expressions: handles do expressions
  • @babel/object-curly-spacing: handles export * as x from "mod"; (🛠)
  • @babel/semi: Handles class properties (🛠)

TypeScript

While @babel/eslint-parser can parse TypeScript, we don't currently support linting TypeScript using the rules in @babel/eslint-plugin. This is because the TypeScript community has centered around @typescript-eslint and we want to avoid duplicate work. Additionally, since @typescript-eslint uses TypeScript under the hood, its rules can be made type-aware, which is something Babel doesn't have the ability to do.

Keywords

FAQs

Last updated on 29 Nov 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc