eslint-config
shareable configuration
for ESLint
Table of Contents
Philosophy
Lint rules can be controversial, but I believe they should be extensive and
strict. I think that consistency is more valuable in a codebase than personal
preference, especially when those preferences differ between team members and
even individual members at different times.
Because of this, the Airbnb base config
is extended as the as the base ruleset of this config. It is not extended
because of agreeing with all of the rules, but because it defines an extensive
ruleset in a strict way. Rules are overridden from there, both to make some
more strict and to make some enforce a different convention.
Usage
Extending under your own scope
Extending this config allows you to use this config as a base for your own
config, enabling you to define further rules or override some defined in this
config.
It is recommended to create your own config early rather than using this one
directly even if you do not define any overrides at first. That way, your
projects will already depend on your custom config when you decide to define
custom rules later.
Installation
$ npm install @form8ion/eslint-config --save-prod
Extend from the file exported as main
in your config package
Note that you can use the shorthand version
of the config name
module.exports = {extends: '@form8ion'};
Example configs that extend this one
For projects in the form8ion
organization
Installation
$ npm install @form8ion/eslint-config --save-dev
Add to the project config
Such as in an .eslintrc.yml
extends: '@form8ion'
Contributing
Dependencies
$ nvm install
$ npm install
Verification
$ npm test
Related Projects