You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.4 KiB
61 lines
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: |
|
|
|
```js |
|
// @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: |
|
|
|
```js |
|
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: |
|
|
|
```js |
|
// 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. |
|
|
|
|
|
```yaml |
|
# .eslintrc.yml |
|
settings: |
|
import/docstyle: ['jsdoc', 'tomdoc'] |
|
``` |
|
|
|
### Worklist |
|
|
|
- [x] report explicit imports on the import node |
|
- [x] support namespaces |
|
- [x] should bubble up through deep namespaces (#157) |
|
- [x] report explicit imports at reference time (at the identifier) similar to namespace |
|
- [x] mark module deprecated if file JSDoc has a @deprecated tag? |
|
- [ ] don't flag redeclaration of imported, deprecated names |
|
- [ ] flag destructuring
|
|
|