Description
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
Versioning
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.
Example config
Here are example ESLint configuration files.
ECMAScript Modules:
import love from 'eslint-config-love'
export default [
{
...love,
files: ['**/*.js', '**/*.ts'],
},
]
CommonJS:
module.exports = (async function config() {
const { default: love } = await import('eslint-config-love')
return [
{
...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.
Example command line usage:
$ npx eslint .
Disabling rules
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.
Contributing
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.