W3cubDocs

/ESLint

Developer Guide

This guide is intended for those who wish to:

  • Contribute code to ESLint
  • Create their own rules for ESLint

In order to work with ESLint as a developer, 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.
  • You understand unit tests and why they’re important.

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

Section 1: Get the Source Code

Before you can get started, you’ll need to get a copy of the ESLint source code. This section explains how to do that and a little about the source code structure.

Section 2: Set up a Development Environment

Developing for ESLint is a bit different than running it on the command line. This section shows you how to set up a development environment and get you ready to write code.

Section 3: Run the Unit Tests

There are a lot of unit tests included with ESLint to make sure that we’re keeping on top of code quality. This section explains how to run the unit tests.

Section 4: Working with Rules

You’re finally ready to start working with rules. You may want to fix an existing rule or create a new one. This section explains how to do all of that.

Section 5: Working with Plugins

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

Section 6: Working with Custom Parsers

If you aren’t going to use the default parser of ESLint, this section explains about using custom parsers.

Section 7: Node.js API

If you’re interested in writing a tool that uses ESLint, then you can use the Node.js API to get programmatic access to functionality.

Section 8: Contributing

Once you’ve made changes that you want to share with the community, the next step is to submit those changes back via a pull request.

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/developer-guide/