• Stars
    star
    4,318
  • Rank 9,974 (Top 0.2 %)
  • Language
  • License
    Creative Commons ...
  • Created about 9 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A list of awesome ESLint plugins, configs, etc.

Awesome ESLint Awesome

eslint

A list of awesome ESLint configs, plugins, etc.

If you want to contribute, please read the contribution guidelines.

Contents

Configs

Configs by Well-Known Companies/Organizations

Other Prominent Configs (100 stars or so)

Other Configs

  • Adjunct - A reasonable collection of plugins to use alongside your main ESLint configuration.
  • Ash-Nazg - One config to rule them all!
  • Cecilia - ESLint configuration for awesome projects.
  • ES - Shareable config for very strict code.
  • Hardcore - The most strict (but practical) ESLint config out there.
  • Problems - Shareable config that only catches actual problems, and doesn't enforce stylistic preferences.
  • Supermind - Shareable config for Supermind style.
  • Sheriff - Comprehensive and highly opinionated Eslint configuration. Typescript oriented.

Preconfigured Configs with ESLint Set up

  • Node.js Standard Style - Node.js core config.
  • prettier-standard - Prettier formatter with custom eslint rules allowed.
  • Standard - JavaScript Standard Style.
  • Superlint - JavaScript Supermind Style.
  • XO - JavaScript happiness style linter ❀️.
  • Healthier - Code style agnostic version of Standard, perfect companion to Prettier.

Plugins

Code Quality

Compatibility

  • Compat - Lint browser compatibility of APIs used (caniuse as an ESLint plugin).
  • ecmascript-compat - Disable ECMAScript language features not supported by your browserslist targets.
  • es - Disable specific ECMAScript language versions or individual features.
  • es5 - ESLint plugin for ES5 users (forbid ES2015+ usage).
  • ie11 - Detect unsupported ES6 features in IE11.

CSS in JS

Deprecation

  • deprecate - Mark functions or modules as deprecated and get lint messages when they are used.
  • deprecation - Identifies use of jsdoc @deprecated functions.
  • disable - Disable specified plugins using file path patterns and inline comments.

Embedded

  • HTML - Linting for JavaScript inside of HTML <script> tags.
  • Markdown - Linting for JavaScript inside of Markdown.

Frameworks

Languages and Environments

  • AssemblyScript - Rules for enforcing restrictions on TypeScript toward AssemblyScript compliance.
  • Babel - Adds replacements for built-in rules to include Babel features.
  • Coffee - Enables linting CoffeeScript files with, with optional linting rules from the Coffeelint library.
  • eslint-plugin-eslint-plugin - An ESLint plugin for linting ESLint plugins.
  • Flow
    • Flow - Flow type linting rules.
    • Flow Errors - Run Flow as an ESLint plugin.
  • HTML - ESLint plugin for HTML.
  • JSON
    • JSON - Lint your JSON files.
    • JSON, package.json - Lint, format, and auto-fix your JSON files. Sort your package.json.
    • JSON with Comments - ESLint plugin for JSON, JSONC and JSON5.
    • JSON Schema - Validates data defined in JavaScript, JSON, YAML and TOML using JSON Schema Validator.
  • MDX - ESLint Parser/Plugin for MDX.
  • Node - Additional ESLint's rules for Node.js.
  • SQL - SQL linting rules for ESLint.
  • TOML - ESLint plugin for TOML.
  • TypeScript - Linting rules for TypeScript.
  • YAML - ESLint plugin for YAML.

Libraries

  • GraphQL
  • TypeGraphQL - Linting rules for TypeGraphQL, targeted at finding common mistakes.
  • jQuery - Linting rules for jQuery, including versioned configs for deprecated features.
  • JSDoc - Linting rules for JSDoc comments (including the JavaScript within @example).
  • Lodash
  • Mongodb - Mongodb native Node.js driver linting rules.
  • Ramda - Ramda specific linting rules.
  • RequireJS - Linting rules for RequireJS.
  • Tailwind CSS - Linting rules for Tailwind CSS classnames.

Misc

  • Diff - Run ESLint on your changed lines only. Also supports CI!
  • Misc - Miscellaneous rules including rules for creating custom checks and wrapping (modifying) third-party rules.
  • Notice - An eslint rule that checks the top of files and fixes them too!
  • Only-Error - Convert all rules to errors.
  • Only-Warn - Convert all rules to warnings.
  • PutOut - an ESLint plugin integrates putout linter into ESLint.
  • TypeLint - Introduces types, based on existing schemas (Swagger, Redux) and linting access to object properties, preventing undefined errors.
  • Woke - Helps catch insensitive words, promoting an inclusive codebase.

Practices and Specific ES Features

  • array-func - Avoid redundancy when using es2015 array methods and functions.
  • arrow functions - ESLint rules to ensure proper arrow function definitions.
  • boundaries - Ensures that your architecture boundaries are respected by the elements in your project checking file structure and dependencies.
  • ESLint Comments - Best practices about ESLint directive comments (/*eslint-disable*/, etc.).
  • eslint-plugin-hexagonal-architecture - A plugin that helps you to enforce hexagonal architecture best practices.
  • eslint-plugin-write-good-comments - Enforce good writing style in comments.
  • fp - ESLint rules for functional programming.
  • functional - ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.
  • Immutable - Disable all mutation in JavaScript.
  • import - Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names.
  • new-with-error - Require errors to be thrown using new.
  • no-argument-spread - Lints against expressions like Math.max(...args) that can lead to a stack overflow for large arrays.
  • no-comments - Prevents leaking comments into production if bundler is not used and stops developers from commenting out old lines of code.
  • no-constructor-bind - Encourages use of class properties by reporting use of this with bind or setting state in constructors.
  • no-inferred-method-name - Custom rule for ESLint that checks for inferred method names within object literals.
  • no-loops - It's 2019 and you still use loops?
  • no-restricted-syntax - Show queried syntax's content in messages.
  • no-use-extend-native - Prevent using extended native objects.
  • Promise - Best practices when working with promises.
  • pure - Enforce pure functions (without side effects).
  • RegExp - ESLint plugin for finding regexp mistakes and style guide violations.
  • sort-keys-fix - Adds fixer for ESLint sort-keys rule.
  • this - Write pure functions, don't allow this.
  • toplevel - An eslint plugin for disallow side effect at module toplevel.

Performance

Security

  • no-secrets - An eslint plugin that detects potential secrets/credentials.
  • no-unsanitized - Checks for innerHTML, outerHTML, etc.
  • pii - Checks and enforces PII Compliance of the code. i.e. no email address, birth date, IP address or phone number in comments or string literals.
  • ScanJS config and plugin - Security-related rules.
  • Security - ESLint rules for Node Security.
  • xss - Tries to detect XSS issues in codebase before they end up in production.

Style

Testing Tools

Parsers

  • Babel - Use Babel's parser for linting all Babel features.
  • TypeScript - A TypeScript parser that produces output compatible with ESLint.
  • BrightScript - BrightScript plugin for Roku development. Includes Parser and Rules.
  • GraphQL - Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules.

Formatters

  • html - A enhanced ESLint formatter
  • badger - Make SVG-based badges summarizing ESLint results (e.g., for use on a README).
  • git-log - ESLint Formatter featuring Git Author, Date, and Hash.
  • github - See ESLint errors and warnings directly in pull requests.
  • gitlab - Output ESLint results in the GitLab code quality results.
  • mo - Good-lookin' ESLint formatter and also for delightful reading experience.
  • SARIF - Generate a results in a SARIF format so it can be imported into tools like GitHub Advanced Security.
  • summary-chart - Format ESLint output into a bar chart.

Globals

Tools

  • eslint-define-config - Provide a defineConfig function for .eslintrc.js files.
  • es-file-traverse - Obtain a list of only those files which are in use based on imports and/or requires from an entry file or files; list passable to ESLint. Intended esp. for linting 3rd party dependencies.
  • eslint-find-rules - Find built-in ESLint rules you don't have in your custom config.
  • eslint-index - CLI for finding and managing rules in ESLint config files.
  • eslint-interactive - The CLI tool to fix huge number of ESLint errors.
  • eslint-multiplexer - Multiplex eslint results and merge results for common files.
  • eslint-nibble - Ease into ESLint, by fixing one rule at a time.
  • eslint-rule-documentation - Find the url for the documentation of an ESLint rule.
  • eslint-watch - Run ESLint with watch mode.
  • codacy-eslint - Docker used at Codacy to run ESLint.
  • esprint - Run ESLint across multiple threads.
  • generator-eslint - Generate ESLint plugin and rules with Yeoman.
  • editor-info - Detect whether one is within an editor/IDE and which type, allowing one to tweak ESLint configuration accordingly.
  • eslint-dashboard - Interactive ESLint workflow that lives in your terminal.
  • eslint-remote-tester - CLI tool for testing given ESlint rules against multiple repositories at once.

Developing for ESLint

  • eslint-doc-generator - Generate documentation for your ESLint plugin including a rules table for your readme and header for your rule docs.
  • eslint-docs - Keep your rule descriptions up-to-date across the repository.

Tutorials

Installation and Setup

  • Lintier - CLI to quickly scaffold an ESLint & Prettier setup in a TypeScript project.

More Repositories

1

generator-ng-poly

Yeoman generator for modular AngularJS apps with Gulp and optional Polymer support
JavaScript
238
star
2

awesome-flow

A list of awesome Flow integrations, tools, tutorials, etc.
123
star
3

eslint-plugin-no-use-extend-native

ESLint plugin to prevent use of extended native objects
JavaScript
55
star
4

dscript

Framework agnostic hyperscript
JavaScript
35
star
5

eslint-config-angular

ESLint shareable config for Angular plugin
JavaScript
24
star
6

gulp-modify-css-urls

Gulp plugin for modifying CSS URLs
JavaScript
19
star
7

pushit

Guarantee Git pushes real good with Salt-N-Pepa
JavaScript
17
star
8

redux-immutable-combine-reducers

A Redux combineReducers that returns an Immutable Map
JavaScript
7
star
9

gulp-alex

Gulp plugin for Alex
JavaScript
7
star
10

convert-vinyl-to-vfile

Convert a Vinyl file to a VFile
JavaScript
6
star
11

deku-redux-connect

Like react-redux's connect, but for Deku 2.0.0
JavaScript
6
star
12

go-singly-linked-list

A Singly Linked List in Go
Go
6
star
13

ansible-dotfiles

I DevOps'd my dotfiles
Jinja
5
star
14

kpt-remove-resource

a kpt function for removing a Kubernetes resource
Go
5
star
15

eslint-config-dustinspecker

ESLint shareable config of Dustin Specker's preferences
JavaScript
4
star
16

convert-css-color-name-to-hex

Convert CSS color names to hex
JavaScript
4
star
17

argo-prometheus-example

Shell
3
star
18

shorten-css-hex

Shorten CSS hex codes
JavaScript
3
star
19

dscript-react

dscript with React setup done for you
JavaScript
3
star
20

random-wiki

Get a random topic from Wikipedia.org
JavaScript
3
star
21

is-fibonacci-number

Elm
3
star
22

conjunction

Combine a list of strings with a conjunction
Elixir
3
star
23

pulumi-libvirt-ubuntu-example

Go
3
star
24

eslint-generate-config-from-sample

Create an ESLint config for existing code
JavaScript
3
star
25

go-combined-unit-integration-coverage-demo

Go
3
star
26

string-replace-with-object

JavaScript
3
star
27

cks-vagrant

Vagrantfile to create cluster for use with Kubernetes CKS 2020 Complete Course + Simulator
Shell
3
star
28

lockal

a user/project local executable dependency manager
Go
3
star
29

deku-prop-types

Prop type validation for Deku components
JavaScript
2
star
30

is-css-color-name

Determine if a name is a valid CSS color name
JavaScript
2
star
31

dscript-deku

dscript with Deku setup done for you
JavaScript
2
star
32

kpt-demo

to go along with: https://dustinspecker.com/posts/introduction-to-kpt/
2
star
33

carvel-suite-example

Shell
2
star
34

paperback

Easily generate files from templates
JavaScript
2
star
35

array-join-conjunction

Join an array with a conjunction
JavaScript
2
star
36

list-join-conjunction

Join a List with a conjunction
Elm
2
star
37

dict-key-values

Swap the key value pairs of a Dict
Elm
2
star
38

parse-css-class-id-selector

Retreive class names and id from a CSS selector
JavaScript
2
star
39

newline-regex

Regex for newline characters
JavaScript
2
star
40

deku-prop-types-immutable

Immutable prop type validation for Deku components
JavaScript
2
star
41

austin

Add the *Powers* of spying to JavaScript tests
JavaScript
2
star
42

pulumi-libvirt-ubuntu-component-resources-example

Go
2
star
43

generator-ds-mod

Yeoman Generator for creating Node modules
JavaScript
1
star
44

checker-factory

JavaScript
1
star
45

tampermonkey-scripts

JavaScript
1
star
46

const-func

Create a function always returning a constant
JavaScript
1
star
47

is-obj-prop

Does a JS type have a property
JavaScript
1
star
48

func-has-param

Check if function in file has parameter
JavaScript
1
star
49

is-get-set-prop

Does a JS type have a getter/setter property
JavaScript
1
star
50

last

Elm
1
star
51

paperback-example

An example of how to use paperback
JavaScript
1
star
52

string-surround

Surround a string with another string
JavaScript
1
star
53

gite

An Electron app alternative to gitk
JavaScript
1
star
54

capitalize-word

Elm
1
star
55

os

Assembly
1
star
56

string-contains-string

Check if one of two strings contains the other
JavaScript
1
star
57

dustinspecker.com

Go
1
star
58

obj-props

List of properties for JavaScript objects
JavaScript
1
star
59

is-proto-prop

Does a JS type's prototype have a property
JavaScript
1
star
60

dscript-mapper

Map models between stateless function components from different frameworks
JavaScript
1
star
61

prepend-if

Prepend a string, conditionally
JavaScript
1
star
62

gomega-lint

Go
1
star
63

get-lodash-template-vars

Retrieve list of vars in a lodash template
JavaScript
1
star
64

happy-news

Create happier comments on Hacker News https://chrome.google.com/webstore/detail/happy-news/ndldkhjhhnkgnnbbgdmpoaopnikopbjj
JavaScript
1
star
65

dscript-doc

dscript with doc-jsx setup done for you
JavaScript
1
star
66

vim-snippets-dustinspecker

Dustin Specker's snippets
1
star
67

learn-python-the-hard-way

Exercises from Learn Python the Hard Way
Python
1
star
68

dotfiles

Vim Script
1
star
69

gulp-ng-new-router-templates

Gulp plugin for injecting template paths into $componentLoaderProvider
JavaScript
1
star
70

git-gerrit

Git commands Dustin uses with Gerrit
Shell
1
star
71

us-states

Elm
1
star
72

exercism

Elixir
1
star
73

get-yo-rc-path

Get the path of the nearest .yo-rc.json file
JavaScript
1
star
74

doc-jsx

A JSX pragma for document
JavaScript
1
star
75

hapi-ts-experiment

Experimenting using TypeScript with Hapi
TypeScript
1
star
76

count-spaces

Count number of spaces
JavaScript
1
star
77

voting-server

Learning React, Redux, and Immutable http://teropa.info/blog/2015/09/10/full-stack-redux-tutorial.html
JavaScript
1
star
78

go-by-example

Go By Example tutorial
Go
1
star
79

advent-of-code-2017

JavaScript
1
star
80

fizzbuzz-example

Trying out Sinon's spying on console.log.
JavaScript
1
star
81

is-css-color-hex

Determine if a string is a valid CSS color hex
JavaScript
1
star
82

network-namespaces-example

A script to automate what https://dustinspecker.com/posts/how-do-kubernetes-and-docker-create-ip-addresses/ creates.
Shell
1
star
83

append-if

Append a string, conditionally
JavaScript
1
star
84

discord-notify-ip-change

Go
1
star
85

go-lint-rule-demo

Go
1
star