ESLint configuration for projects that I do... Feel free to use this!
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
es6 feat: upgrade everything Jun 26, 2018
import fix(import): disable no-useless-path-segments Aug 3, 2018
other/test feat(everything): upgrade stuff and make some breaking changes Nov 18, 2016
samples feat: upgrade everything Jun 26, 2018
.eslintrc feat: upgrade everything Jun 26, 2018
.gitignore feat: update everything to use prettier Sep 20, 2017
.npmignore feat(everything): upgrade stuff and make some breaking changes Nov 18, 2016
.npmrc feat: update everything to use prettier Sep 20, 2017
.prettierrc feat: upgrade everything Jun 26, 2018
.travis.yml feat: update everything to use prettier Sep 20, 2017
CODE_OF_CONDUCT.md feat(lib): Initial Commit Sep 4, 2015
CONTRIBUTING.md feat: upgrade everything Jun 26, 2018
LICENSE feat(lib): Initial Commit Sep 4, 2015
README.md feat: upgrade everything Jun 26, 2018
best-practices.js fix(eslint): Ensure siblings of a rest operator aren't marked as unus… Dec 10, 2018
index.js feat(everything): upgrade stuff and make some breaking changes Nov 18, 2016
jest.js fix: add missing rules and upgrade dependencies (#20) Aug 31, 2018
jsx-a11y.js fix: add missing rules and upgrade dependencies (#20) Aug 31, 2018
package.json fix(react): handle silly warning Sep 20, 2018
possible-errors.js feat: upgrade everything Jun 26, 2018
react.js fix(react): avoid error reading info Sep 20, 2018
stylistic.js feat: upgrade everything Jun 26, 2018
webpack.js feat: upgrade everything Jun 26, 2018

README.md

eslint-config-kentcdodds

travis build version downloads MIT License semantic-release

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

Sponsor

Usage

Install the conventions by running:

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

Then add the extends to your .eslintrc:

{
  "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:

{
  "extends": "kentcdodds/<config-name>"
}

Or in combination with the base config (recommended)

{
  "extends": ["kentcdodds", "kentcdodds/<config-name>"]
}

Note: I'm not certain why, but sometimes 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.

  • babel-module: babel-plugin-module-resolver for the import plugin to work with the module-resolver babel plugin (eslint-plugin-import and eslint-import-resolver-babel-module)
  • babel-react-require: babel-plugin-react-require for when you're using the react-require babel plugin (should be used with "kentcdodds/react" as well) (eslint-plugin-react)
  • jest: jest testing framework
  • jsx-a11y: eslint-plugin-jsx-a11y for rules regarding accessibility with JSX (eslint-plugin-jsx-a11y)
  • react: React JS library (eslint-plugin-react)
  • webpack: Webpack for the import plugin to work with webpack overloaded imports/requires (eslint-plugin-import and eslint-import-resolver-webpack)

Things to know

  • The default config uses babel-eslint to support stage features that ESLint doesn't support and it opts to use the eslint-plugin-babel 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 and you can use those 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. Also, the es6 and import configs each have a possible-errors.js, best-practices.js, and stylistic.js which they are composed of as well.

Example of highly customized config

{
  "extends": [
    "kentcdodds/possible-errors", "kentcdodds/best-practices",
    "kentcdodds/es6/possible-errors", "kentcdodds/import",
    "kentcdodds/jest"
  ],
  "rules": { /* custom rules */ }
}

LICENSE

MIT