Open samreid opened 2 years ago
Noting that this issue is an extension of https://github.com/phetsims/chipper/issues/1114
In https://github.com/phetsims/axon/issues/402 we saw several places where IEmitter specified the default type IEmitter<[]>
and it would be good to enable the rule no-unnecessary-type-arguments
.
I added a rule that seemed to match with our conventions, @typescript-eslint/explicit-module-boundary-types
but couldn't figure it out for mixins so it is disabled on those lines.
There are about 30 remaining rules that are marked as TODO
about enabling the rule or investigating it more. About a dozen of those rules have autofix. I've been chipping away at this but am ready to bring back to dev meeting for check-in and to see how we want to divide the remaining work.
While working on #1368 I noticed that explicit-module-boundary-types was enabled for this issue. It has a lot of overlap with our custom explicit-method-return-types, I am wondering if we can delete explicit-method-return-types now.
This issue has no assignments and @jessegreenberg's question seems worthy to bring return to to be discussed
so that his question can be answered, and this issue reassigned.
Regarding https://github.com/phetsims/chipper/issues/1277#issuecomment-1352109108, explicit-module-boundary-types does not require return types for private functions. So I prefer our custom explicit-method-return-types and think we should keep it. Our rule also has an auto fix which is nice to keep around.
Ill remove from agenda since that is why it was added.
After https://github.com/phetsims/chipper/issues/1276, we should follow that same convention for listing all of the existing TypeScript ESLint rules. We can add comments about why our team has enabled or disabled a rule.
I have converted to this form on my working copy but have more adjustments before I'll be ready to commit. Probably some time Monday.
Heads up to @jessegreenberg who did the initial work on setting up TypeScript ESLint rules.