Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

eslint-plugin-es5

Build Status Cult Of Martians

ESLint plugin for ES5 users.

Why?

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.

Installation

npm install --save-dev eslint-plugin-es5

Usage

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.

List of supported rules

  • es5/no-es6-methods Forbid ES2015 methods for Array and String
  • es5/no-es6-static-methods Forbid ES2015 static methods for Array, Math, Number, and Object. 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: Forbid let and const 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 operator a ** b usage.
  • es5/no-for-of: Forbid for-of statements.
  • es5/no-generators: Forbid generators usage.
  • es5/no-modules: Forbid ES2015 modules usage.
  • es5/no-object-super: Forbid super/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: Forbid typeof 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.

License

MIT