iheanyi / eslint-plugin-escompat

Report errors for code which wont work in browsers without transpiling

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eslint-plugin-escompat

This plugin will report eslint errors for code which - if left untranspiled - will not work in some browsers.

This is useful if you indent to ship code without first using a transpiler, such as Babel.

This wont lint for features that can be polyfilled. For that you can use eslint-plugin-compat.

Installation

npm install --save-dev eslint-plugin-escompat

Add "escompat" to .eslintrc "plugins" section, add "browser": true to "env", then configure the individual "escompat/*" rules.

Alternatively, you can use the recommended configuration which will do this for you, with the "escompat/*" rules reporting errors (as in the snippet above).

// .eslintrc
{
  "extends": ["plugin:escompat/recommended"]
}

Targeting Browsers

eslint-plugin-escompat uses the browserslist configuration in package.json

If you have a browserlist, is is safe to enable all of these rules - as any that do not coincide with your chosen browsers will be turned off automatically.

See browserslist/browserslist for configuration. Here's some examples:

// Simple configuration (package.json)
{
  // ...
  "browserslist": ["last 1 versions", "not ie <= 8"],
}
// Use development and production configurations (package.json)
{
  // ...
  "browserslist": {
    "development": ["last 2 versions"],
    "production": ["last 4 versions"]
  }
}

đź’ˇ You can also define browsers in a separate browserslist file

Rules

Inspiration

This project was largely inspired by the great eslint-plugin-compat library.

About

Report errors for code which wont work in browsers without transpiling

License:MIT License


Languages

Language:JavaScript 100.0%