You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/maintenance/ISSUES.md
+32-4Lines changed: 32 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -93,13 +93,41 @@ These bugs should be reported with a link to a GitHub repository that can be che
93
93
If you cannot reproduce the issue as described using repository's README.md and issue description, it has not provided enough information.
94
94
Consider using a specific response like the _Needs Full Reproduction_ response.
95
95
96
-
### ✨ Rule Enhancements
96
+
### 🏗 Feature Requests
97
97
98
-
TODO: This will be filled out... soon!
98
+
For any feature request, make sure the requested support is either:
99
99
100
-
### 🚀 New Rules
100
+
- Very useful for at least one commonly used way to run TypeScript (e.g. tsc-built CLI package; bundler-managed web app)
101
+
- Relevant for _most_ projects that would be using typescript-eslint
101
102
102
-
TODO: This will be filled out... soon!
103
+
We avoid features that:
104
+
105
+
- Are only relevant for a minority of users, as they aren't likely worth the maintenance burden
106
+
- Aren't TypeScript-specific (e.g. should be in ESLint core instead)
107
+
- Are only relevant with specific userland frameworks or libraries, such as Jest or React
108
+
- Are for "formatting" functionality (we [strongly recommend users use a separate dedicated formatter](../linting/troubleshooting/FORMATTING.md))
109
+
110
+
#### ✨ Rule Enhancements
111
+
112
+
We're generally accepting of rule enhancements that meet the above feature request criteria.
113
+
If a rule enhancement would substantially change the target area of the rule, consider whether it should instead be a new rule.
114
+
Common signs of this are the rule's original name now being inaccurate, or some options being relevant just for the old functionality.
115
+
116
+
Enhancements that can cause new reports to be reported are considered breaking changes.
117
+
We have two common strategies for them:
118
+
119
+
- Treat the enhancement as a breaking change, and block merging it until the next major version
120
+
- Add an option to disable the new logic: which is a breaking change if opt-in, and a non-breaking change if opt-out
121
+
- Add an option to enable the new logic: which is a breaking change if opt-out, and a non-breaking change if opt-in
122
+
123
+
See [Can we standardize logical direction of rule options?](https://github.com/typescript-eslint/typescript-eslint/discussions/6101) for context on naming options.
124
+
125
+
For enhancements meant to limit which kinds of nodes the rule targets, mark the issue as blocked on [RFC: Common format to specify a type or value as a rule option](https://github.com/typescript-eslint/typescript-eslint/discussions/6017).
126
+
127
+
#### 🚀 New Rules
128
+
129
+
We're generally accepting of new rules that meet the above feature request criteria.
130
+
The biggest exception is rules that can roughly be implemented with [`@typescript-eslint/ban-types`](https://typescript-eslint.io/rules/ban-types) and/or [`no-restricted-syntax`](https://eslint.org/docs/latest/rules/no-restricted-syntax).
0 commit comments