Skip to content

Commit

Permalink
docs: add Rule Deprecations page (#6156)
Browse files Browse the repository at this point in the history
* docs: add Rule Deprecations page

* Update docs/maintenance/issues/Rule_Deprecations.md

Co-authored-by: Brad Zacher <brad.zacher@gmail.com>

Co-authored-by: Brad Zacher <brad.zacher@gmail.com>
  • Loading branch information
JoshuaKGoldberg and bradzacher committed Dec 7, 2022
1 parent b2b8ce2 commit bcad11b
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 2 deletions.
1 change: 0 additions & 1 deletion docs/maintenance/ISSUES.md
@@ -1,6 +1,5 @@
---
id: issues
sidebar_label: Issues
title: Issues
---

Expand Down
34 changes: 34 additions & 0 deletions docs/maintenance/issues/Rule_Deprecations.md
@@ -0,0 +1,34 @@
---
id: rule-deprecations
title: Rule Deprecations
---

Sometimes a rule that used to be 👍 does not age well and becomes 👎.
In the past, these cases have included:

- Overly opinionated and/or stylistic rules that don't represent a universal best practice
- Renames
- Rules moved to an external plugin

In these cases, we aim to remove the old rule with minimal user disruption.

## Filing the Issue

Rule deprecations can be filed as a [new issue bypassing templates](https://github.com/typescript-eslint/typescript-eslint/issues/new).

Provide it an `## Overview` containing:

- The rule name & link to its documentation page
- A clear explanation of why you believe it should be deprecated
- Whether it exists in popular configs such as `eslint-config-airbnb-typescript` and `eslint-config-standard-with-typescript`
- Sourcegraph queries showing how often it appears in user configs

> See [#6036](https://github.com/typescript-eslint/typescript-eslint/issues/6036) for examples of those links and queries.
## Timeline

1. In any minor/patch version, add [rule `meta` properties](https://eslint.org/docs/latest/developer-guide/working-with-rules#rule-basics):
- `deprecated: true`
- `replacedBy`, if applicable
2. In the next major version, you may delete the rule
- If the rule is relatively popular with users, consider leaving a documentation page as a tombstone pointing to the new relevant rule or docs (see [`camelcase`](https://typescript-eslint.io/rules/camelcase/) as an example)
11 changes: 10 additions & 1 deletion packages/website/sidebars/sidebar.base.js
Expand Up @@ -67,7 +67,16 @@ module.exports = {
},
{
items: [
'maintenance/issues',
{
collapsible: false,
items: ['maintenance/issues/rule-deprecations'],
label: 'Issues',
link: {
id: 'maintenance/issues',
type: 'doc',
},
type: 'category',
},
'maintenance/pull-requests',
'maintenance/releases',
'maintenance/versioning',
Expand Down

0 comments on commit bcad11b

Please sign in to comment.