ESLint v8.x reached end-of-life on 2024-10-05 and is no longer maintained. Upgrade or consider long-term support options
Versions

Extend ESLint

This guide is intended for those who wish to extend the functionality of ESLint.

In order to extend ESLint, it’s recommended that:

  • You know JavaScript, since ESLint is written in JavaScript.
  • You have some familiarity with Node.js, since ESLint runs on it.
  • You’re comfortable with command-line programs.

If that sounds like you, then continue reading to get started.

Ways to Extend ESLint

This page summarizes the various ways that you can extend ESLint and how these extensions all fit together.

Create Plugins

You’ve developed custom rules for ESLint and you want to share them with the community. You can publish an ESLint plugin on npm.

Custom Rule Tutorial

A tutorial that walks you through creating a custom rule for ESLint.

Custom Rules

This section explains how to create custom rules to use with ESLint.

Custom Formatters

This section explains how you can create a custom formatter to control what ESLint outputs.

Custom Parsers

If you don’t want to use the default parser of ESLint, this section explains how to create custom parsers.

Custom Processors

This section explains how you can use a custom processor to have ESLint process files other than JavaScript.

Share Configurations

This section explains how you can bundle and share ESLint configuration in a JavaScript package.

Change Language