Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
Description
Before You File a Documentation Request Please Confirm You Have Done The Following...
- I have looked for existingopen or closed documentation requests that match my proposal.
- I haveread the FAQ and my problem is not listed.
Suggested Changes
Splitting out of discussion in#8640:
- That absolutely-reasonable-and-fine change on our end changed the properties of the
no-unused-vars
rule report - We then learned that an external plugin,
eslint-plugin-unused-imports
, was relying on a now-removed property ofno-unused-vars
:This plugin breaks when using typescript-eslint 7.8.0. sweepline/eslint-plugin-unused-imports#77 - It was then unclear to folks: did we break any contracts by changing the properties of the rule in a non-major version?
The answer to (3) is: no, the fact that the rule report switch fromnode
toloc
is not covered by our public API contracts. It's an implementation detail that's only exposed to the plugin througheslint-rule-composer
:https://github.com/sweepline/eslint-plugin-unused-imports/blob/d77f8e402f09a31a82ca2416b5fe4dace18e0599/lib/rules/no-unused-vars.js. We explained the situation more deeply in the discussion in#8640.
But, in folks' defense,https://typescript-eslint.io/users/versioning/#eslint-plugin neverexplicitly says whether rule properties are part of the public API. Proposal: let's add a quick list item in the"shall not be considered breaking" section mentioning them?
Affected URL(s)
https://typescript-eslint.io/users/versioning#eslint-plugin
💖