Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
epidemian
GitHub Repository: epidemian/eslint-plugin-import
Path: blob/main/docs/rules/no-deprecated.md
829 views

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