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