ESLint Config

Opinionated JSDevTools ESLint configuration for JavaScript, TypeScript, and JSX

ESLint Config

Opinionated JSDevTools ESLint config for JavaScript, TypeScript, and JSX

Cross-Platform Compatibility Build Status

Coverage Status Dependencies

npm License Buy us a tree

This is a shareable config for ESLint that’s used for JSDevTools projects. It’s highly opinionated and tailored to the types of projects we build, so it’s probably not relevant to you. But nonetheless, it could be a good starting point for creating your own custom shareable config.

This config uses ESLint’s overrides feature to apply different rulesets to different files based on glob patterns. It currently includes rulesets for JavaScript, TypeScript, and JSX files, as well more relaxed rulesets for test files in any of those languages.


Run the following npm command to install ESLint and our ESLint config as dev-dependencies of your project:

npm install eslint @jsdevtools/eslint-config --save-dev


Shareable configs are designed to work with the extends feature of .eslintrc files. You can learn more about Shareable Configs on the official ESLint website.

To use our ESLint config in your project, create an .eslintrc.yml file with the following contents:


root: true
extends: "@jsdevtools"

  # You can override any rules here


Our ESLint config is 100% free and open-source, under the MIT license. Use it however you want.

This package is Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.

Big Thanks To

Thanks to these awesome companies for their support of Open Source developers ❤

GitHub NPM Coveralls Travis CI SauceLabs