ESLint rules for all of my personal projects. Feel free to use these conventions :-)
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-crisfcodes
This library has a required peerDependencies
listing for eslint
Then add the extends to your .eslintrc.js
:
module.exports = {
extends: 'crisfcodes',
rules: {
// your overrides
},
}
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: 'crisfcodes/<config-name>',
}
Or in combination with the base config (recommended)
module.exports = {
extends: ['crisfcodes', 'crisfcodes/<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.
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)@typescript-eslint
: @typescript-eslint/parser and @typescript-eslint/eslint-plugin.
- The default config uses
@babel/eslint-parser
to support stage features that ESLint doesn't support and it 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 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, thees6
andimport
configs each have apossible-errors.js
,best-practices.js
, andstylistic.js
which they are composed of as well.
module.exports = {
extends: [
'crisfcodes/possible-errors',
'crisfcodes/best-practices',
'crisfcodes/es6/possible-errors',
'crisfcodes/import',
'crisfcodes/jest',
],
rules: {
/* custom rules */
},
}
Looking to contribute? Look for the Good First Issue label.
Please file an issue for bugs, missing documentation, or unexpected behavior.
Please file an issue to suggest new features. Vote on feature requests by adding a 👍. This helps maintainers prioritize what to work on.
Thanks goes to these people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
MIT