Release Notes: Deprecated Classnames Plugin v1.1.1 🚀
This release enhances the plugin's functionality and updates its dependencies to ensure compatibility with the latest tools and libraries. Designed for teams looking to refactor their codebase efficiently, this plugin identifies and replaces deprecated class names, making it especially useful for Material-UI-heavy projects or migrating legacy code.
Key Features
1. Enhanced Classname Detection
- Accurately identifies deprecated class names in
classNameattributes within JSX/TSX files. - Provides clear suggestions for replacement class names, streamlining your refactoring process.
2. Material-UI Classes Prop Support
- Detects deprecated class names within the
classesprop used in Material-UI components. - Ideal for projects migrating from Material-UI or modernizing legacy code.
3. Flexible Configuration Options
- Specific Classnames: Define individual deprecated class names and their replacements.
- Multiple Classnames: Specify multiple deprecated class names with a shared replacement.
- Regex Patterns: Use regular expressions to identify and replace class names that follow consistent patterns.
What's New in v1.1.1?
- Updated Dependencies: Libraries and tools have been updated to their latest versions, ensuring better compatibility and stability.
- Improved Regex Handling: Enhanced support for both string-based and pattern-based regex configurations.
- Multiple Rule Support: Apply multiple rules simultaneously for broader coverage in large codebases.
- Optimized Performance: Faster rule execution and improved handling of large repositories.
- Refined Debugging: Clearer error reporting to simplify debugging and testing.
Ideal Use Cases
- Migration Projects: Seamlessly update class names when transitioning from Material-UI or other libraries.
- Legacy Code Cleanup: Identify and replace outdated class names to modernize your codebase.
- Teamwide Consistency: Automate style conventions and enforce updated class name practices.
Updated Example Configuration
Add the plugin to your .eslintrc configuration file:
{
"plugins": ["deprecate-classnames"],
"rules": {
"deprecate-classnames/classnames": [
"error",
{ "name": "old-class", "use": "new-class" },
{ "nameRegExp": "^deprecated-", "use": "updated-class" }
],
"deprecate-classnames/classes": [
"error",
{ "name": "MuiOldClass", "use": "MuiNewClass" }
]
}
}For more details, visit the npm package page.
Copy code