Files
dewedev/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md
dwindown 7f2dd5260f Initial commit: Developer Tools MVP with visual editor
- Complete React app with 7 developer tools
- JSON Tool with visual structured editor
- Serialize Tool with visual structured editor
- URL, Base64, CSV/JSON, Beautifier, Diff tools
- Responsive navigation with dropdown menu
- Dark/light mode toggle
- Mobile-responsive design with sticky header
- All tools working with copy/paste functionality
2025-08-02 09:31:26 +07:00

1.4 KiB

import/no-deprecated

Reports use of a deprecated name, as indicated by a JSDoc block with a @deprecated tag or TomDoc Deprecated: comment.

using a JSDoc @deprecated tag:

// @file: ./answer.js

/**
 * this is what you get when you trust a mouse talk show
 * @deprecated need to restart the experiment
 * @returns {Number} nonsense
 */
export function multiply(six, nine) {
  return 42
}

will report as such:

import { multiply } from './answer' // Deprecated: need to restart the experiment

function whatever(y, z) {
  return multiply(y, z) // Deprecated: need to restart the experiment
}

or using the TomDoc equivalent:

// Deprecated: This is what you get when you trust a mouse talk show, need to
// restart the experiment.
//
// Returns a Number nonsense
export function multiply(six, nine) {
  return 42
}

Only JSDoc is enabled by default. Other documentation styles can be enabled with the import/docstyle setting.

# .eslintrc.yml
settings:
  import/docstyle: ['jsdoc', 'tomdoc']

Worklist

  • report explicit imports on the import node
  • support namespaces
    • should bubble up through deep namespaces (#157)
  • report explicit imports at reference time (at the identifier) similar to namespace
  • mark module deprecated if file JSDoc has a @deprecated tag?
  • don't flag redeclaration of imported, deprecated names
  • flag destructuring