Currently, the ESLint config packages are approximately 3 years out of date.
Out of these, upgrading the @metamask/eslint-config-typescript configuration needs to be prioritized due to the ongoing TypeScript conversion efforts. There are a number of breaking changes in the intervening versions that should be applied to incoming TypeScript code as they encourage important best practices.
The number of errors that need to be fixed in order to make this update work is already significant. Postponing this task further will only worsen this problem.
Requirements
For rules that are auto-fixable or have applicable suggestions, resolve errors/warnings in the same PR.
For some rules, it may be important to ensure that new violations are not introduced into the codebase, but fixing the existing violations is lower priority or too high-effort. In such cases, mark existing violations with an eslint-disable directive and TODO comment.
Disable non-auto fixable rules in the ESLint config file with a comment indicating that they should be re-enabled.
Write tickets for re-enabling these rules.
(Write tickets for bumping other ESLint packages in the extension).
Status
Current violations for the up-to-date version of @metamask/eslint-config-typescript:
Scenario
No response
Design
No response
Technical Details
No response
Threat Modeling Framework
No response
Acceptance Criteria
No response
Stakeholder review needed before the work gets merged
[x] Engineering (needed in most cases)
[ ] Design
[ ] Product
[ ] QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
What is this about?
Motivation
Currently, the ESLint config packages are approximately 3 years out of date.
Out of these, upgrading the
@metamask/eslint-config-typescript
configuration needs to be prioritized due to the ongoing TypeScript conversion efforts. There are a number of breaking changes in the intervening versions that should be applied to incoming TypeScript code as they encourage important best practices.The number of errors that need to be fixed in order to make this update work is already significant. Postponing this task further will only worsen this problem.
Requirements
eslint-disable
directive and TODO comment.Status
Current violations for the up-to-date version of
@metamask/eslint-config-typescript
:Scenario
No response
Design
No response
Technical Details
No response
Threat Modeling Framework
No response
Acceptance Criteria
No response
Stakeholder review needed before the work gets merged
References
No response