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.
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"]
}
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
- no-async-generator
- no-async-iteration
- no-edge-destructure-bug
- no-exponentiation-operator
- no-object-rest-spread
- no-regexp-s-flag
This project was largely inspired by the great eslint-plugin-compat library.