MetaMask / MetaMask/metamask-extension
Update Stylelint from v13 to v16 in the Extension
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
### What is this about?
The current version of Stylelint used in the extension is v13, which is now several versions behind the latest, v16. Updating to Stylelint v16 will bring new features, bug fixes, and improvements that can enhance our styling linting process. This update is crucial for maintaining code quality and adhering to the latest CSS standards and best practices.
### Motivation
- **New Features**: Stylelint v16 includes new rules and options that can help us catch more styling issues before they make it into production.
- **Bug Fixes**: Resolving issues present in v13 that could potentially lead to incorrect linting results.
- **Performance Improvements**: Newer versions often come with optimizations that can speed up the linting process.
- **Dependency Health**: Keeping dependencies up-to-date is essential for security and compatibility reasons.
### Scenario
_No response_
### Design
_No response_
### Technical Details
- **Current Version**: v13
- **Target Version**: v16
- **Breaking Changes**: Review the [Stylelint release notes](https://github.com/stylelint/stylelint/releases) for any breaking changes between v13 and v16. Adjust our configuration and codebase accordingly.
- **Dependencies**: Ensure compatibility with other project dependencies.
### Threat Modeling Framework
_No response_
### Acceptance Criteria
- Stylelint is successfully updated to version 16 in the extension.
- Any breaking changes introduced in the update are addressed, and the linting configuration is updated accordingly.
- The extension's codebase complies with the new or updated rules introduced in Stylelint v16.
- All existing styling linting workflows run successfully with the updated version, without any degradation in performance.
### 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)
- [ ] Security
- [ ] Legal
- [ ] Marketing
- [ ] Management (please specify)
- [ ] Other (please specify)
### References
Would be great to enable comments see issue here https://github.com/MetaMask/metamask-extension/issues/23099
Contributor guide
Research direction
Locate the extension's current Stylelint v13 dependency and linting configuration, then review the Stylelint release notes for changes through v16. Run the existing styling linting workflows and update the dependency, configuration, and affected code until the workflows pass without performance degradation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css, typescript
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100