Skip to content

Latest commit

 

History

History
208 lines (164 loc) · 11.2 KB

README.md

File metadata and controls

208 lines (164 loc) · 11.2 KB

eslint-config-kentcdodds

ESLint rules for all of my personal projects. Feel free to use these conventions :-)


Build Status version downloads MIT License All Contributors PRs Welcome Code of Conduct

Table of Contents

Installation

This module is distributed via npm which is bundled with node and should be installed as one of your project's devDependencies:

npm install --save-dev eslint-config-kentcdodds

This library has a required peerDependencies listing for eslint

Usage

Then add the extends to your .eslintrc.js:

module.exports = {
  extends: 'kentcdodds',
  rules: {
    // your overrides
  },
}

Other configs

This config also exposes a few other configs that I use often and pull in as needed.

You can use them standalone:

module.exports = {
  extends: 'kentcdodds/<config-name>',
}

Or in combination with the base config (recommended)

module.exports = {
  extends: ['kentcdodds', 'kentcdodds/<config-name>'],
}

Note: Due to this bug you need to have the associated plugins installed to make things work. I recommend adding them as dependencies to your project if you're going to use the config for it.

Things to know

  • The default config uses @babel/eslint-parser to support stage features that ESLint doesn't support. It also opts to use the @babel/eslint-plugin rules over the ESLint rules to support rules for these features as well.
  • All plugins needed for rules used by these configs are dependencies of this module so you don't have to install anything on your own.
  • The default config actually is composed of several configurations which can be used individually. These are the configs it's using: possible-errors.js, best-practices.js, stylistic.js, es6/index.js, and import/index.js. You can use each of these configs yourself if you want to leave my own personal style out of it. The import config also has a possible-errors.js, best-practices.js, and stylistic.js which it is composed of as well.

Example of highly customized config

module.exports = {
  extends: [
    'kentcdodds/possible-errors',
    'kentcdodds/best-practices',
    'kentcdodds/import',
    'kentcdodds/jest',
  ],
  rules: {
    /* custom rules */
  },
}

Issues

Looking to contribute? Look for the Good First Issue label.

🐛 Bugs

Please file an issue for bugs, missing documentation, or unexpected behavior.

See Bugs

💡 Feature Requests

Please file an issue to suggest new features. Vote on feature requests by adding a 👍. This helps maintainers prioritize what to work on.

See Feature Requests

Contributors ✨

Thanks goes to these people (emoji key):


Kent C. Dodds

💻 📖 🚇

Jonathan Haines

💻

Zack Yang

💻

Mohamed Oun

💻

Alexander Nanberg

💻

Hu Chen

💻

Weyert de Boer

💻

Marko Vujanic

💻

Michaël De Boey

💻 📖 🔧

Justin Dorfman

📖

Nikolay Stoynov

📖

Andrew Mason

📖

Ben Monro

💻

Silviu Alexandru Avram

📖

This project follows the all-contributors specification. Contributions of any kind welcome!

LICENSE

MIT