ESLint plugin for ES5 users.
Sometimes someone doesn't want to or can't 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-es6-methods
Forbid ES2015 methods forArray
andString
-
es5/no-es6-static-methods
Forbid ES2015 static methods forArray
,Math
,Number
, andObject
. You can enable specific functions:"es5/no-es6-static-methods": ["error", { exceptMethods: ["Math.imul"] }]
-
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.