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-methodsForbid ES2015 methods forArrayandStringes5/no-es6-static-methodsForbid 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: Forbidletandconstdeclarations. 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 ** busage.es5/no-for-of: Forbidfor-ofstatements.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.