README
eslint-config-gsmlg
ESLint rules for all of my personal projects. Feel free to use these conventions :-)
Table of Contents
Installation
This module is distributed via [npm][npm] which is bundled with [node][node] and
should be installed as one of your project's devDependencies
:
npm install --save-dev eslint-config-gsmlg
This library has a required peerDependencies
listing for [eslint
][eslint]
Usage
Then add the extends to your .eslintrc.js
:
module.exports = {
extends: 'gsmlg',
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: 'gsmlg/<config-name>',
}
Or in combination with the base config (recommended)
module.exports = {
extends: ['gsmlg', 'gsmlg/<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.
Things to know
- 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.
Example of highly customized config
module.exports = {
extends: [
'gsmlg/possible-errors',
'gsmlg/best-practices',
'gsmlg/es6/possible-errors',
'gsmlg/import',
'gsmlg/jest',
],
rules: {
/* custom rules */
},
}
Issues
Looking to contribute? Look for the [Good First Issue][good-first-issue] label.
🐛 Bugs
Please file an issue for bugs, missing documentation, or unexpected behavior.
[See Bugs][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][requests]
LICENSE
MIT
Inspiration
This is forked from kcd-scripts.