Skip to content

form8ion/eslint-config

Repository files navigation

eslint-config

shareable configuration for ESLint

Node CI Workflow Status SLSA Level 2

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

npm MIT license node

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

Conventional Commits Commitizen friendly semantic-release PRs Welcome Renovate

Dependencies

$ nvm install
$ npm install

Verification

$ npm test

Related Projects