Making ESLint more inclusive

As part of our efforts to make ESLint more inclusive, we are happy to share with you changes we've made in the project. ESLint is maintained by a diverse team, and we want everyone to feel empowered, welcome, safe, proud, and included, when contributing. Moving forward, we are looking to do even more, and we hope to inspire other open source projects.

From its beginning, the ESLint project has sought to be a place that is welcoming and inclusive of everyone. We adopted a code of conduct before doing so was common (even before we joined the jQuery Foundation, now the OpenJS Foundation) and the project has been maintained by a group of developers from all around the world, representing a variety of ethnicities, cultures, and countries. Even so, we understand that inclusivity is a process that must be adapted as we learn and grow. There is always some way to be more welcoming, and today we’re happy to share with you some of our recent efforts.

Eliminating problematic terminology

One of the areas where we’ve made changes in the project is through the use of more inclusive terminology. We recently did an audit of our codebase to look for words with negative connotations. In doing so, we discovered that we had a few instances of the word “blacklist” in the project, not just inside of code but also in the name of the id-blacklist rule.

In v7.4.0 we renamed the id-blacklist rule to id-denylist while providing a fallback so existing ESLint configs wouldn’t break. In v7.5.0 we officially deprecated the id-blacklist rule. It’s our policy not to remove deprecated rules, but we will no longer be maintaining the id-blacklist rule. Any further changes will be made only to the id-denylist rule.

Going forward, we will be avoiding the use of the following terms:

  • Blacklist
  • Whitelist
  • Master
  • Slave

While not all of these words trace back to racist origins, they do all have negative connotations that can make people uncomfortable and perpetuate unconscious bias. We want ESLint to be a project that everyone is comfortable participating in, and proud of contributing to, and using more inclusive language helps.

What about the master branch?

Like many open source projects, our primary development branch is called master. We are in the process of transitioning each repository to use main as the primary development branch. This will be a gradual rollout as we work through our least active repositories towards eslint, our most active repository. A large amount of our infrastructure tooling assumes that master is the primary development branch, so it will take us some time and we may need to wait for the GitHub tooling to complete this work.

Moving forward

We want everyone to feel empowered to contribute to ESLint, and to know that when they do, they feel welcome, safe, and included. This latest small action is just a part of our ongoing effort to more inclusive, and we hope other open source projects will do the same.

The latest ESLint news, case studies, tutorials, and resources.

ESLint v9.0.0-beta.2 released
2 min read

ESLint v9.0.0-beta.2 released

We just pushed ESLint v9.0.0-beta.2, which is a major release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release. This release also has some breaking changes, so please read the following closely.

ESLint v9.0.0-beta.1 released
1 min read

ESLint v9.0.0-beta.1 released

We just pushed ESLint v9.0.0-beta.1, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.

ESLint v8.57.0 released
1 min read

ESLint v8.57.0 released

We just pushed ESLint v8.57.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.