Skip to content

NicolasReibnitz/eslint-plugin-es5-jquery-lodash

Repository files navigation

eslint-plugin-es5-jquery-lodash

ESLint extension plugin for ES5 plugin users who want better differentiation between jQuery and Lodash functions and ES6 methods.

Why?

Sometimes someone uses the great eslint-plugin-es5 and jQuery or Lodash at the same time and get irritated by all those false errors.

Like the following message:

error  ES6 methods not allowed: find  es5/no-es6-methods

when using something like this:

$('#myDiv').find('.child');
// or
_.find([1, 2, 3]);
// or even
a.b.c.$d.find('.child');

which are of course not ES6 methods but Lodash and jQuery functions and therefore perfectly fine in an ES5 context.

That's why I took the pull request by Nikita Chuklinov, added support for nested jQuery functions, and turned it into its own plugin. It extends eslint-plugin-es5 by turning off the original es5/no-es6-methods rule and adding es5-jquery-lodash/no-es6-methods instead.

Installation

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

Usage

Add the plugin to your .eslintrc:

{
	"plugins": ["es5", "es5-jquery-lodash"]
}

And then switch out the rule in question like this:

{
	"rules": {
		"es5/no-es6-methods": "off",
		"es5-jquery-lodash/no-es6-methods": "error"
	}
}

Or just use the preset which does all of that for you:

{
	"extends": [ ..., "plugin:es5-jquery-lodash/recommended"]
}

List of supported rules

es5-jquery-lodash/no-es6-methods

Forbid ES2015 methods for Array and String, while ignoring Lodash and jQuery functions. You can also allow specific ES6 methods. For example: "es5-jquery-lodash/no-es6-methods": ["error", { exceptMethods: ["includes"] }]

License

MIT

About

ESLint extension plugin for ES5 plugin users who want better differentiation between jQuery or Lodash functions and ES6 methods.

Resources

License

Stars

Watchers

Forks

Packages

No packages published