ESLint plugin for ES5 users.
Sometimes someone doesn't want or can't to use Babel.
Even if you support modern browsers or node.js, JS engines have bugs
like broken block-scoping.
Maybe you only want to forbid usage of for-of
in your project.
If this concerns you, this plugin should help you.
npm install --save-dev eslint-plugin-es5
Add the plugin to your .eslintrc
:
{
"plugins": [
"es5"
]
}
And then any of the rules listed below like this:
{
"rules": {
"es5/no-arrow-functions": "error"
}
}
Also you can extend one of presets:
{
"extends": [
"eslint:recommended",
"plugin:es5/no-es2015"
]
}
Available presets:
plugin:es5/no-es2015
: Forbid ES2015 usage.plugin:es5/no-es2016
: Forbid ES2016 usage.
es5/no-arrow-functions
🔧: Forbid arrow-functions.es5/no-binary-and-octal-literals
🔧: Forbid binary and octal literals.es5/no-block-scoping
: Forbidlet
andconst
declarations. You can enable them using options:"es5/no-block-scoping": ["error", { "let": true }]
es5/no-classes
: Forbid ES2015 classes.es5/no-computed-properties
: Forbid computed properties.es5/no-default-parameters
: Forbid default parameters.es5/no-destructuring
🔧: Forbid destructuring statements.es5/no-exponentiation-operator
: Forbid exponentiation operatora ** b
usage.es5/no-for-of
: Forbidfor-of
statements.es5/no-generators
: Forbid generators usage.es5/no-modules
: Forbid ES2015 modules usage.es5/no-object-super
: Forbidsuper
/super.foo()
calls.es5/no-rest-parameters
: Forbid rest parameters.es5/no-shorthand-properties
: Forbid shorthand properties.es5/no-spread
🔧: Forbid ...spread expressions.es5/no-template-literals
🔧: Forbid template strings usage.es5/no-typeof-symbol
: Forbidtypeof foo === 'symbol'
checks.es5/no-unicode-code-point-escape
🔧: Forbid Unicode support in code point escape.es5/no-unicode-regex
: Forbid Unicode support in RegExp.