Skip to content

Releases: juanpinheiro/eslint-plugin-deprecate-classnames

v1.1.1

15 Jan 17:39
31fd996

Choose a tag to compare

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 className attributes 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 classes prop 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

v1.0.0

18 Jun 15:58
7dd4e0c

Choose a tag to compare

This plugin helps you refactor your codebase by identifying and replacing deprecated class names. It extends the functionality of eslint-plugin-deprecate to specifically target class names in JSX and TSX files.

Features

  • Deprecated Classnames Detection: Identifies the use of specified deprecated class names in className attributes in JSX/TSX files and suggests alternative class names.
  • Material-UI Support: Detects deprecated class names within the classes prop used in Material-UI components and suggests alternatives.
  • Flexible Configuration:
    • Specific Classnames: Define individual deprecated class names and their replacements.
    • Multiple Classnames: Specify multiple deprecated class names and their common replacement.
    • Regular Expressions: Use regex patterns to identify and replace deprecated class names that follow a specific pattern.