Registry / testing / eslint-plugin-deprecate-classnames

eslint-plugin-deprecate-classnames

JSON →
library1.1.1jsnpmunverified

An ESLint plugin (v1.1.1, stable) that detects deprecated CSS class names in JSX/TSX files and suggests replacements. Supports exact strings, multiple names, and regular expressions. Integrates with Material-UI classes prop. Requires ESLint 7+. Alternative to generic deprecation linters with focus on CSS class names.

npm install eslint-plugin-deprecate-classnames
INSTALL
IMPORT
SIG · ESLINT-PLUGIN-DEPR
E
eslint-plugin-deprecate-classnames
testingjavascriptv1.1.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

plugin (deprecate-classnames)
// .eslintrc { "plugins": ["deprecate-classnames"] }
CommonJS config files; the plugin is an ESLint plugin, not imported directly in code.
classnames rule
// .eslintrc "rules": { "deprecate-classnames/classnames": ["error", { "name": "old", "use": "new" }] }
"rules": { "classnames": ["error", ...] }
Rule names must be prefixed with the plugin name.
classes rule
// .eslintrc "rules": { "deprecate-classnames/classes": ["error", { "name": "old", "use": "new" }] }
"rules": { "classes": ["error", ...] }
Handles Material-UI classes prop; configure similarly to classnames.

Configures ESLint to error on deprecated class names and suggests replacements.

// In .eslintrc.json { "plugins": ["deprecate-classnames"], "rules": { "deprecate-classnames/classnames": ["error", { "name": "btn-primary", "use": "btn-accent" }, { "name": "old-container", "use": "new-container" }, { "nameRegExp": "^legacy-", "use": "modern-" } ] } }
Debug
Known issues
gotchaPlugin only works on JSX/TSX files; does not lint HTML or non-JSX JavaScript.
fix
Ensure files have .jsx/.tsx extension and ESLint parser is configured for JSX.
affects: all
gotchaRule options must be passed as an array; each object is a separate rule configuration.
fix
Example: `["error", { "name": "a", "use": "b" }, { "name": "c", "use": "d" }]`
affects: all
gotchaThe `classes` rule only checks Material-UI's `classes` prop; does not catch className usage.
fix
Use `classnames` rule for className, `classes` for Material-UI classes prop.
affects: all
gotchaRequires ESLint >=7; will not work with ESLint 6 or below.
fix
Update ESLint to version 7 or later.
affects: all
Errors
Common errors & fixes
ESLint: Error: Failed to load plugin 'deprecate-classnames': Cannot find module 'eslint-plugin-deprecate-classnames'
Plugin not installed or not in node_modules.
fix
Run `npm install eslint-plugin-deprecate-classnames --save-dev`
ESLint: Configuration for rule "deprecate-classnames/classnames" is invalid: value is not an array.
Rule configuration not wrapped in an array.
fix
Use array: `"deprecate-classnames/classnames": ["error", { ... }]`
Parsing error: Unexpected token <
ESLint parser not configured for JSX.
fix
Set `parserOptions.ecmaFeatures.jsx: true` in ESLint config.
Upgrade
Version history
1.1.1latest on npm
Audit
Dependencies
eslintrequiredPeer dependency; plugin requires ESLint >=7.x
Agent activity
2 hits · last 30 days
node
2
Resources
eslint-plugin-deprecate-classnames — npm install eslint-plugin-deprecate-classnames · libregistry