Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save abhididdigi/61543c2a7709743fd003de83bcc55da3 to your computer and use it in GitHub Desktop.
Save abhididdigi/61543c2a7709743fd003de83bcc55da3 to your computer and use it in GitHub Desktop.
Gettings started writing a ESLint rule

Gettings started writing a ESLint rule

First, take a look at the ESLint rule documentation. Just skim it for now. It's very long and boring. You can come back to it later.

ESLint rules works on the AST (Abstract Syntax Tree) representation of the code. In short, this is a tree structure that describes the code in a very verbose form. ESLint walks this tree and rules can subscribe to be notified when it hits a specific node type, like a Literal type, which could be the "hello" part of const welcome = "hello";.

Go ahead and play around with some code in AST Explorer (Make sure the parser is espree). It's a great tool!

Here are some good articles on the subject (ignore the scaffolding parts):

When you have some background knowledge, try cloning our repo and open any rule file and its and start modifying just to play around.

When you're ready to start working on a rule, take a look at previous rule addition for what's needed to add: https://github.com/sindresorhus/eslint-plugin-unicorn/commit/718578aadc696dbc506bce32cd8e5bec3fb12c3a and https://github.com/sindresorhus/eslint-plugin-unicorn/commit/f0249e0f0ed341765fa2a9fad50d4599a95f3661

Happy to answer question you might have in https://gitter.im/sindresorhus/meta

Have fun! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment