$ show es-tooling/eslint-plugin-depend
This is an ESLint plugin that provides a single rule, `ban-dependencies`, which flags usage of npm packages that have better alternatives or are redundant. It uses presets (e.g., native, microutilities, preferred) from the `module-replacements` package to suggest replacements. The plugin also supports user-defined module bans and allowlists, and can lint `package.json` files to detect banned dependencies. The codebase is written in TypeScript, well-tested, and follows modern ESLint plugin conventions. The repository appears to be superseded by `@e18e/eslint-plugin` as noted in the README, and is likely no longer actively developed.
The LLM identified 1 files worth highlighting for reuse:
This module provides a reusable utility for creating ESLint rule listeners that detect import/require statements and package.json dependencies. It handles four different AST node types (ImportDeclaration, ImportExpression, TSImportEqualsDeclaration, CallExpression) for JavaScript/TypeScript, and two different AST structures for JSON (via @eslint/json and jsonc-eslint-parser). The `createReplacementListener` function combines these to create a complete listener for replacement rules. This pattern is isolated and could be extracted into a standalone package for any ESLint plugin that needs to detect module usage across multiple file types.