UNPKG

@epic-web/config

Version:

Reasonable ESLint configs for epic web devs

45 lines (30 loc) 1.55 kB
# Minimal ESLint Date: 2024-05-25 Status: accepted ## Context There are endless ESLint rules you can enable for your project (no really, because you can make custom ones there is no end to them). Each rule you enable does three things: 1. Helps catch potential issues 2. Slows down running ESLint 3. Increases the number of annoying false positives Two of these things are costs and one is a benefit. As professional developers, we need to evaluate each rule based on whether that rule's benefit outweighs the cost. We determine this by evaluating the risk of an issue slipping through and the impact on the user. This is going to be relatively subjective for everyone. There are some rules which cover high impact issues, but are so unlikely to happen in any project that they are not worth including. For example, `no-compare-neg-zero` is protecting you from a pretty odd behavior, but the likelihood of it catching a real issue is so low it's not worth including. Another thing to consider is for TypeScript files, there are many rules which are completely redundant. For example, `no-setter-return` is a redundant rule in a TypeScript project because TypeScript will give a compiler error if you try to return from a setter. ## Decision We keep the rule set as minimal as reasonable. At the current time, we're probably over-minimal and more rules should probably be added. ## Consequences People wanting a more strict ESLint will have to add more rules themselves. This is very easy to do (especially with ESLint v9's flat config).