Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nkt/eslint-plugin-es5
ESLint plugin for ES5 users.
https://github.com/nkt/eslint-plugin-es5
ecmascript es2015 es2016 eslint-plugin
Last synced: 3 months ago
JSON representation
ESLint plugin for ES5 users.
- Host: GitHub
- URL: https://github.com/nkt/eslint-plugin-es5
- Owner: nkt
- License: mit
- Created: 2017-01-03T14:37:58.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-30T17:46:14.000Z (almost 2 years ago)
- Last Synced: 2024-07-06T20:05:56.877Z (4 months ago)
- Topics: ecmascript, es2015, es2016, eslint-plugin
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/eslint-plugin-es5
- Size: 187 KB
- Stars: 54
- Watchers: 4
- Forks: 20
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-eslint - es5 - ESLint plugin for ES5 users (forbid ES2015+ usage). (Plugins / Compatibility)
README
eslint-plugin-es5
=================![Build Status](https://github.com/nkt/eslint-plugin-es5/workflows/Test/badge.svg)
[![Cult Of Martians](http://cultofmartians.com/assets/badges/badge.svg)](http://cultofmartians.com/tasks/eslint-es5.html)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](http://stackoverflow.com/q/32665347).
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`:
```json
{
"plugins": [
"es5"
]
}
```And then any of the rules [listed below](#list-of-supported-rules) like this:
```json
{
"rules": {
"es5/no-arrow-functions": "error"
}
}
```Also you can extend one of presets:
```json
{
"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](http://babeljs.io/learn-es2015/#math--number--string--object-apis) for `Array` and `String`
- `es5/no-es6-static-methods` Forbid ES2015 [static methods](http://babeljs.io/learn-es2015/#math--number--string--object-apis) for `Array`, `Math`, `Number`, and `Object`. You can enable specific functions: `"es5/no-es6-static-methods": ["error", { exceptMethods: ["Math.imul"] }]`
- `es5/no-arrow-functions`:wrench:: Forbid [arrow-functions](https://babeljs.io/learn-es2015/#ecmascript-2015-features-arrows-and-lexical-this).
- `es5/no-binary-and-octal-literals`:wrench:: Forbid [binary and octal literals](https://babeljs.io/learn-es2015/#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](https://babeljs.io/learn-es2015/#ecmascript-2015-features-classes).
- `es5/no-computed-properties`: Forbid [computed properties](https://babeljs.io/learn-es2015/#ecmascript-2015-features-enhanced-object-literals).
- `es5/no-default-parameters`: Forbid [default parameters](https://babeljs.io/learn-es2015/#ecmascript-2015-features-default-rest-spread).
- `es5/no-destructuring`:wrench:: Forbid [destructuring statements](https://babeljs.io/learn-es2015/#ecmascript-2015-features-destructuring).
- `es5/no-exponentiation-operator`: Forbid exponentiation operator `a ** b` usage.
- `es5/no-for-of`: Forbid [`for-of` statements](https://babeljs.io/learn-es2015/#ecmascript-2015-features-iterators-for-of).
- `es5/no-generators`: Forbid [generators](https://babeljs.io/learn-es2015/#ecmascript-2015-features-generators) usage.
- `es5/no-modules`: Forbid ES2015 [modules](https://babeljs.io/learn-es2015/#ecmascript-2015-features-modules) usage.
- `es5/no-object-super`: Forbid `super`/`super.foo()` calls.
- `es5/no-rest-parameters`: Forbid [rest parameters](https://babeljs.io/learn-es2015/#ecmascript-2015-features-default-rest-spread).
- `es5/no-shorthand-properties`:wrench:: Forbid [shorthand properties](https://babeljs.io/learn-es2015/#ecmascript-2015-features-enhanced-object-literals).
- `es5/no-spread`:wrench:: Forbid [...spread expressions](https://babeljs.io/learn-es2015/#ecmascript-2015-features-default-rest-spread).
- `es5/no-template-literals`:wrench:: Forbid [template strings](https://babeljs.io/learn-es2015/#ecmascript-2015-features-template-strings) usage.
- `es5/no-typeof-symbol`: Forbid `typeof foo === 'symbol'` [checks](https://babeljs.io/learn-es2015/#ecmascript-2015-features-symbols).
- `es5/no-unicode-code-point-escape`:wrench:: Forbid [Unicode support](https://babeljs.io/learn-es2015/#unicode) in code point escape.
- `es5/no-unicode-regex`: Forbid [Unicode support](https://babeljs.io/learn-es2015/#ecmascript-2015-features-unicode) in RegExp.License
-------
[MIT](LICENSE)