This is an ESLint shareable configuration.
- No framework/library-specific rules
- Safety at the cost of verbosity
- Convention over arbitrary choice
- No formatting rules (please use a formatter)
- No rules that are covered by strict TypeScript
Any change that might require a user to make changes beyond upgrading this package is considered major. For example, rule addition are obviously major. It is expected that most version bumps will be major.
Here is an example eslint.config.js
.
import love from 'eslint-config-love'
export default [
{
...love,
files: ['**/*.js', '**/*.ts'],
},
]
Learn how to configure ESLint.
Note: the config exported by this package sets languageOptions.parserOptions.project = true
.
Read about the project
option here.
There are some more parserOptions
you may care about.
$ npx eslint .
As with any ESLint configuration, some ad-hoc disabling of rules is expected. It is further expected that the strict nature of this configuration would more frequently require the disabling of rules.
Consider minimizing the scope in which rules are disabled;
prefer using eslint-disable-*
comments when possible.
Otherwise, rules can be disabled for a subset of files using configuration.
This project is developed primarily in remote mob programming format. See schedule and how to apply here.
Otherwise, see CONTRIBUTING.md
.
To ensure the continuity of this project, consider sponsoring the author.