2.0.6 • Published 8 years ago
eslint-config-shellthor v2.0.6
eslint-config-shellthor
ESLint rules for all of my personal projects. Feel free to use these conventions :-)
This was heavily inspired by eslint-config-kentcdodds
Usage
Install the conventions by running:
npm install --save-dev eslint eslint-config-shellthorThen add the extends to your .eslintrc:
{
"extends": "shellthor",
"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": "shellthor/<config-name>"
}Or in combination with the base config (recommended)
{
"extends": ["shellthor", "shellthor/<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"shellthor/react"as well) (eslint-plugin-react)jest: jest testing frameworkjsx-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-eslintto support stage features that ESLint doesn't support and it opts to use theeslint-plugin-babelrules 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, andimport/index.js. You can use each of these configs yourself if you want to leave my own personal style out of it. Also, thees6andimportconfigs each have apossible-errors.js,best-practices.js, andstylistic.jswhich they are composed of as well.
Example of highly customized config
{
"extends": [
"shellthor/possible-errors", "shellthor/best-practices",
"shellthor/es6/possible-errors", "shellthor/import",
"shellthor/jest"
],
"rules": { /* custom rules */ }
}Contributors
Thanks goes to these wonderful people (emoji key):
| Jeff Detmer💻 📖 🚇 ⚠️ |
|---|
This project follows the all-contributors specification. Contributions of any kind welcome!
LICENSE
MIT