Skip to content
Permalink
9bfb9ba527
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
62 lines (48 sloc) 1.44 KB

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