diff --git a/docs/Contributing.mdx b/docs/Contributing.mdx
index 852e503c2694..922b41a8608d 100644
--- a/docs/Contributing.mdx
+++ b/docs/Contributing.mdx
@@ -11,5 +11,5 @@ So, from the bottom of our hearts, _thank you_ 💕.
## Getting Started
-Please read our [Code of Conduct](https://github.com/typescript-eslint/typescript-eslint/blob/main/CODE_OF_CONDUCT.md) first.
-If you're new to open source, you may also find the [How to Contribute to Open Source](https://opensource.guide/how-to-contribute) guide from https://opensource.guide useful.
+Please read our [Code of Conduct](https://github.com/typescript-eslint/typescript-eslint/blob/main/CODE_OF_CONDUCT.md) first.
+If you're new to open source, you may also find the [How to Contribute to Open Source](https://opensource.guide/how-to-contribute) guide from https://opensource.guide useful.
diff --git a/docs/Getting_Started.mdx b/docs/Getting_Started.mdx
index 4763b8055a9f..e21de1b7204d 100644
--- a/docs/Getting_Started.mdx
+++ b/docs/Getting_Started.mdx
@@ -9,7 +9,7 @@ These steps will get you running ESLint with our recommended rules on your TypeS
### Step 1: Installation
-First, install the required packages for [ESLint](https://eslint.org), [TypeScript](https://typescriptlang.org), and this plugin:
+First, install the required packages for [ESLint](https://eslint.org), [TypeScript](https://typescriptlang.org), and this plugin:
```bash npm2yarn
npm install --save-dev @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint typescript
@@ -30,7 +30,7 @@ module.exports = {
```
:::info
-If your project doesn't use ESM, naming the file as `.eslintrc.js` is fine. See [ESLint's Configuration Files docs](https://eslint.org/docs/user-guide/configuring/configuration-files) for more info.
+If your project doesn't use ESM, naming the file as `.eslintrc.js` is fine. See [ESLint's Configuration Files docs](https://eslint.org/docs/user-guide/configuring/configuration-files) for more info.
:::
### Step 3: Running ESLint
@@ -76,12 +76,12 @@ ESLint will lint all TypeScript compatible files within the current folder, and
## Next Steps
-We provide a plethora of powerful rules that utilize the power of TypeScript's type information. [Visit the next page for a setup guide](./linting/Typed_Linting.mdx 'Visit the next page for a typed rules setup guide').
+We provide a plethora of powerful rules that utilize the power of TypeScript's type information. [Visit the next page for a setup guide](./linting/Typed_Linting.mdx 'Visit the next page for a typed rules setup guide').
-If you're having problems getting this working, please have a look at our [Troubleshooting & FAQs](./linting/Troubleshooting.mdx).
+If you're having problems getting this working, please have a look at our [Troubleshooting & FAQs](./linting/Troubleshooting.mdx).
### Documentation Resources
-- You can read more about configuring ESLint [in their documentation on configuration](https://eslint.org/docs/user-guide/configuring).
-- You can read more about the rules provided by ESLint [in their documentation on their rules](https://eslint.org/docs/rules/).
-- You can read more about the rules provided by typescript-eslint in [our rules documentation](/rules).
+- You can read more about configuring ESLint [in their documentation on configuration](https://eslint.org/docs/user-guide/configuring).
+- You can read more about the rules provided by ESLint [in their documentation on their rules](https://eslint.org/docs/rules/).
+- You can read more about the rules provided by typescript-eslint in [our rules documentation](/rules).
diff --git a/docs/Maintenance.mdx b/docs/Maintenance.mdx
index 0d599b38a376..780eeafe0433 100644
--- a/docs/Maintenance.mdx
+++ b/docs/Maintenance.mdx
@@ -27,13 +27,13 @@ We do our best to roughly adhere to this model - though at times we may shortcut
### Changes to Governance
-Any changes to this document will be posted for open discussion on the [typescript-eslint GitHub Discussions](https://github.com/typescript-eslint/typescript-eslint/discussions) and kept open for at least one month.
+Any changes to this document will be posted for open discussion on the [typescript-eslint GitHub Discussions](https://github.com/typescript-eslint/typescript-eslint/discussions) and kept open for at least one month.
The discussion will be shared at the beginning, middle, and end of that month on Discord and all our social media accounts.
## Providing Feedback
We're always receptive to suggestions on how to improve our processes!
-For general feedback, we'd suggest posting in the [`#development` channel on Discord](https://discord.com/channels/1026804805894672454/1088474511759917106).
+For general feedback, we'd suggest posting in the [`#development` channel on Discord](https://discord.com/channels/1026804805894672454/1088474511759917106).
We can help you turn that into a GitHub discussion.
:::note
diff --git a/docs/Packages.mdx b/docs/Packages.mdx
index 52406fc6c11e..e7570772d157 100644
--- a/docs/Packages.mdx
+++ b/docs/Packages.mdx
@@ -3,16 +3,34 @@ id: packages
title: Packages
---
-The `@typescript-eslint/*` packages are all stored in [our GitHub monorepo](https://github.com/typescript-eslint/typescript-eslint).
-The monorepo is built and released with [Nx](https://nx.dev).
+The `@typescript-eslint/*` packages are all stored in [our GitHub monorepo](https://github.com/typescript-eslint/typescript-eslint).
+The monorepo is built and released with [Nx](https://nx.dev).
Each page in this section corresponds to a package we intentionally expose to users.
They are:
-- [`@typescript-eslint/eslint-plugin`](./packages/ESLint_Plugin.mdx): An ESLint plugin which provides lint rules for TypeScript codebases.
-- [`@typescript-eslint/eslint-plugin-tslint`](./packages/ESLint_Plugin_TSLint.mdx): An ESLint plugin that allows running TSLint rules within ESLint to help you migrate from TSLint to ESLint.
-- [`@typescript-eslint/parser`](./packages/Parser.mdx): An ESLint parser which allows for ESLint to lint TypeScript source code.
-- [`@typescript-eslint/rule-tester`](./packages/Rule_Tester.mdx): A utility for testing ESLint rules.
-- [`@typescript-eslint/scope-manager`](./packages/Scope_Manager.mdx): A fork of [`eslint-scope`](https://github.com/eslint/eslint-scope), enhanced to support TypeScript functionality.
-- [`@typescript-eslint/typescript-estree`](./packages/TypeScript_ESTree.mdx): The underlying code used by [`@typescript-eslint/parser`](./packages/Parser.mdx) that converts TypeScript source code into an [ESTree](https://github.com/estree/estree)-compatible form.
-- [`@typescript-eslint/utils`](./packages/Utils.mdx): Utilities for working with TypeScript + ESLint together.
+- [`@typescript-eslint/eslint-plugin`](./packages/ESLint_Plugin.mdx): An
+ ESLint plugin which provides lint rules for TypeScript codebases.
+-
+ [`@typescript-eslint/eslint-plugin-tslint`](./packages/ESLint_Plugin_TSLint.mdx)
+
+ : An ESLint plugin that allows running TSLint rules within ESLint to help you migrate
+ from TSLint to ESLint.
+- [`@typescript-eslint/parser`](./packages/Parser.mdx): An ESLint parser
+ which allows for ESLint to lint TypeScript source code.
+- [`@typescript-eslint/rule-tester`](./packages/Rule_Tester.mdx): A
+ utility for testing ESLint rules.
+- [`@typescript-eslint/scope-manager`](./packages/Scope_Manager.mdx): A
+ fork of [`eslint-scope`](https://github.com/eslint/eslint-scope), enhanced
+ to support TypeScript functionality.
+-
+ [`@typescript-eslint/typescript-estree`](./packages/TypeScript_ESTree.mdx)
+
+ : The underlying code used by
+ [`@typescript-eslint/parser`](./packages/Parser.mdx)
+ that converts TypeScript source code into an
+ [ESTree](https://github.com/estree/estree)
+
+ -compatible form.
+- [`@typescript-eslint/utils`](./packages/Utils.mdx): Utilities for
+ working with TypeScript + ESLint together.
diff --git a/docs/contributing/Discussions.mdx b/docs/contributing/Discussions.mdx
index 80c723157dda..1e8c1e5587c7 100644
--- a/docs/contributing/Discussions.mdx
+++ b/docs/contributing/Discussions.mdx
@@ -3,10 +3,10 @@ id: discussions
title: Discussions
---
-Most proposals in the typescript-eslint repository happen in [GitHub Issues](https://docs.github.com/issues).
-We generally try to keep conversations inside issues for their discoverability and ability to be linked to [GitHub Pull Requests](https://docs.github.com/pull-requests).
+Most proposals in the typescript-eslint repository happen in [GitHub Issues](https://docs.github.com/issues).
+We generally try to keep conversations inside issues for their discoverability and ability to be linked to [GitHub Pull Requests](https://docs.github.com/pull-requests).
-We have [GitHub Discussions](https://docs.github.com/discussions) enabled to enable three kinds of deeper, threaded conversations:
+We have [GitHub Discussions](https://docs.github.com/discussions) enabled to enable three kinds of deeper, threaded conversations:
- **Community Feedback**: Questions from the maintainer team that should be raised to the broader community
- **RFCs (Requests For Comments)**: Formalized proposals for larger changes that should be discussed before turned into issues
@@ -16,12 +16,12 @@ Before filing a Discussion, search the issue tracker for any related conversatio
Link to them in the Discussion, along with a detailed description of what you'd like to discuss.
:::tip
-For change proposals that match an [existing issue format](https://github.com/typescript-eslint/typescript-eslint/issues/new/choose), keep to filing issues.
+For change proposals that match an [existing issue format](https://github.com/typescript-eslint/typescript-eslint/issues/new/choose), keep to filing issues.
Most don't need to be moved to this separate format.
We can always move an issue to a discussion if it becomes unexpectedly deep.
:::
:::caution
Please don't use Discussions as a support forum.
-See [Contributing > Issues > Questions and Support Requests](./Issues.mdx#questions-and-support-requests).
+See [Contributing > Issues > Questions and Support Requests](./Issues.mdx#questions-and-support-requests).
:::
diff --git a/docs/contributing/Issues.mdx b/docs/contributing/Issues.mdx
index 879600ae5d81..eee828dfcac3 100644
--- a/docs/contributing/Issues.mdx
+++ b/docs/contributing/Issues.mdx
@@ -8,9 +8,9 @@ Great!
Please do:
-- Make sure you're using the [latest version of our packages](https://github.com/typescript-eslint/typescript-eslint/releases)
-- Search [all opened and closed issues](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+) to make sure your issue wouldn't be a duplicate
-- Fill out the [appropriate issue template](https://github.com/typescript-eslint/typescript-eslint/issues/new/choose) completely
+- Make sure you're using the [latest version of our packages](https://github.com/typescript-eslint/typescript-eslint/releases)
+- Search [all opened and closed issues](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+) to make sure your issue wouldn't be a duplicate
+- Fill out the [appropriate issue template](https://github.com/typescript-eslint/typescript-eslint/issues/new/choose) completely
- Provide as much information as you can
## Commenting
@@ -29,7 +29,7 @@ Please don't:
### Issue Claiming
We don't use any kind of issue claiming system.
-We've found in the past that they result in accidental ["licked cookie"](https://devblogs.microsoft.com/oldnewthing/20091201-00/?p=15843) situations where contributors claim an issue but run out of time or energy trying before sending a PR.
+We've found in the past that they result in accidental ["licked cookie"](https://devblogs.microsoft.com/oldnewthing/20091201-00/?p=15843) situations where contributors claim an issue but run out of time or energy trying before sending a PR.
If an issue has been marked as `accepting prs` and an open PR does not exist, feel free to send a PR.
You don't need to ask for permission.
@@ -39,9 +39,9 @@ You don't need to ask for permission.
The issue tracker is not an appropriate place for questions or support requests.
You can instead:
-- Ask in our [Discord server](https://discord.gg/FSxKq8Tdyg)'s `#help` server
-- Ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/typescript-eslint 'StackOverflow questions tagged with typescript-eslint') using the `typescript-eslint` tag
-- Publicly toot [@tseslint on Mastodon](https://fosstodon.org/@tseslint) or tweet [@tseslint on Twitter](https://twitter.com/tseslint)
+- Ask in our [Discord server](https://discord.gg/FSxKq8Tdyg)'s `#help` server
+- Ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/typescript-eslint 'StackOverflow questions tagged with typescript-eslint') using the `typescript-eslint` tag
+- Publicly toot [@tseslint on Mastodon](https://fosstodon.org/@tseslint) or tweet [@tseslint on Twitter](https://twitter.com/tseslint)
> Note that requests to add documentation _are_ allowed, even encouraged! 📝
diff --git a/docs/contributing/Local_Development.mdx b/docs/contributing/Local_Development.mdx
index 725e9354b32e..0e51ae8c69e0 100644
--- a/docs/contributing/Local_Development.mdx
+++ b/docs/contributing/Local_Development.mdx
@@ -5,11 +5,11 @@ title: Local Development
Thank you for your interest in developing on typescript-eslint! ❤️🔥
-> See [Contributing](../Contributing.mdx) and [Issues](./Issues.mdx) for details on our general contribution flows.
+> See [Contributing](../Contributing.mdx) and [Issues](./Issues.mdx) for details on our general contribution flows.
## Setup
-After [forking the repo from GitHub](https://help.github.com/articles/fork-a-repo) and [installing Yarn](https://yarnpkg.com):
+After [forking the repo from GitHub](https://help.github.com/articles/fork-a-repo) and [installing Yarn](https://yarnpkg.com):
```shell
git clone https://github.com/
A popular setup is to remove all rules requiring type information from the top-level configuration
@@ -82,9 +85,9 @@ These errors are caused by an ESLint config requesting type information be gener
To disable type checking for files manually, set `parserOptions: { project: null }` to an override for the files you wish to exclude. Note that `{ project: undefined }` will not work, and you'll also need to disable any rules or rule options that require type checking.
-- [Logo PNG download](/img/logo.png)
-- [Logo SVG download](/img/logo.svg)
+- [Logo PNG download](/img/logo.png)
+- [Logo SVG download](/img/logo.svg)
diff --git a/docs/maintenance/Contributor_Tiers.mdx b/docs/maintenance/Contributor_Tiers.mdx
index aebf7ebe20d2..9beccaf22186 100644
--- a/docs/maintenance/Contributor_Tiers.mdx
+++ b/docs/maintenance/Contributor_Tiers.mdx
@@ -140,7 +140,7 @@ Any other activities (e.g. responding to Discord threads, working on upstream de
## Advancement
Each tier corresponds to a role on Discord and GitHub.
-When you first hit a tier, you can post in the [`#roles` channel on Discord](https://discord.com/channels/1026804805894672454/1184219870691328051).
+When you first hit a tier, you can post in the [`#roles` channel on Discord](https://discord.com/channels/1026804805894672454/1184219870691328051).
We will confirm privately that you've hit the intent of the contribution tiers.
We'll then grant you the role on Discord and GitHub and profusely thank you for everything you've done. ❤️
@@ -168,7 +168,7 @@ Each month:
- Committers and maintainers who hit their expectation receive their full shares
- Committers and maintainers who hit roughly half their expectation receive half shares
-Reimbursements are generally handled through [our Open Collective page](https://opencollective.com/typescript-eslint).
+Reimbursements are generally handled through [our Open Collective page](https://opencollective.com/typescript-eslint).
### Community Reimbursements
diff --git a/docs/maintenance/Issues.mdx b/docs/maintenance/Issues.mdx
index 52794f3e7e70..8d8c31263c4e 100644
--- a/docs/maintenance/Issues.mdx
+++ b/docs/maintenance/Issues.mdx
@@ -3,7 +3,7 @@ id: issues
title: Issues
---
-This document serves as a guide for how you might manage our [GitHub Issues](https://docs.github.com/issues), also known as issue triaging.
+This document serves as a guide for how you might manage our [GitHub Issues](https://docs.github.com/issues), also known as issue triaging.
Use your best judgement when triaging issues, and most of all remember to be **encouraging, friendly, and kind** when responding to users.
Many users are new to open source and/or typed linting.
@@ -15,7 +15,7 @@ If you're ever unsure on any part of issue management, don't hesitate to loop in
## Governance
-Per the scales from [Contribution Tiers > Pointing](./Contributor_Tiers.mdx#pointing):
+Per the scales from [Contribution Tiers > Pointing](./Contributor_Tiers.mdx#pointing):
- Straightforward: at reviewer discretion, may be marked as approved by any committer or maintainer.
This includes docs enhancements, bug fixes, and feature additions.
@@ -27,14 +27,19 @@ Per the scales from [Contribution Tiers > Pointing](./Contributor_Tiers.mdx#poin
## Issue Flow
:::note
-We include a set of common responses to issues in [`.github/replies.yml`](https://github.com/typescript-eslint/typescript-eslint/blob/main/.github/replies.yml), intended to be used with the [Refined Saved Replies](https://github.com/JoshuaKGoldberg/refined-saved-replies) extension.
+We include a set of common responses to issues in [`.github/replies.yml`](https://github.com/typescript-eslint/typescript-eslint/blob/main/.github/replies.yml), intended to be used with the [Refined Saved Replies](https://github.com/JoshuaKGoldberg/refined-saved-replies) extension.
Don't treat these as exact responses you must use: they're just a starting copy+paste helper.
Please do adopt your specific responses to your personal tone and to match the thread for non-straightforward issues.
:::
-[Issues pending triage](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aopen+is%3Aissue+label%3Atriage) are searchable with the `triage` label.
-That label is added automatically when a new issue is created.
-Most issues go through the following review flow when created or updated:
+
+
+ [Issues pending
+ triage](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aopen+is%3Aissue+label%3Atriage)
+
+ are searchable with the `triage` label. That label is added automatically when
+a new issue is created. Most issues go through the following review flow when created
+or updated:
1. A maintainer ensures the issue is valid:
- If the poster didn't fill out an appropriate template with enough information:
@@ -48,8 +53,13 @@ Most issues go through the following review flow when created or updated:
- Add the `working as intended` label and remove the `bug` and `triage` labels
- If the behavior is due to the user doing something wrong, such as an incorrect config:
- Add the `fix: user error` label
- - [This issue search has some examples of closing comments](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+sort%3Aupdated-desc+label%3A%22fix%3A+user+error%22+is%3Aclosed)
- - If the behavior is otherwise expected, [this issue search has some examples of closing comments](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+sort%3Aupdated-desc+label%3A%22working+as+intended%22+-label%3A%22fix%3A+user+error%22+is%3Aclosed+)
+ -
+
+ [This issue search has some examples of closing
+ comments](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+sort%3Aupdated-desc+label%3A%22fix%3A+user+error%22+is%3Aclosed)
+
+
+ - If the behavior is otherwise expected, [this issue search has some examples of closing comments](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+sort%3Aupdated-desc+label%3A%22working+as+intended%22+-label%3A%22fix%3A+user+error%22+is%3Aclosed+)
- You needn't go into too much detail in your comment - just enough to explain it
2. If the report is valid, add the `accepting prs` label and remove the `triage` label
3. If you know the rough steps for a fix, consider writing a comment with links to codebase to help someone put together a fix
@@ -89,7 +99,7 @@ In such cases you can forgo the back-and-forth and just skip to the closing step
#### 🐞 "Simple" Bugs
-A simple bug is a bug that can be reproduced in a single TS file plus an ESLint config (and possibly a TSConfig) - i.e. an issue reproducible on [our playground](/play).
+A simple bug is a bug that can be reproduced in a single TS file plus an ESLint config (and possibly a TSConfig) - i.e. an issue reproducible on [our playground](/play).
The vast majority of bug reports fall into this category.
If you cannot reproduce the issue as described using the issue's provided playground reproduction, it has not provided enough information.
@@ -116,7 +126,7 @@ We avoid features that:
- Are only relevant for a minority of users, as they aren't likely worth the maintenance burden
- Aren't TypeScript-specific (e.g. should be in ESLint core instead)
- Are only relevant with specific userland frameworks or libraries, such as Jest or React
-- Are for "formatting" functionality (we [strongly recommend users use a separate dedicated formatter](../linting/troubleshooting/Formatting.mdx))
+- Are for "formatting" functionality (we [strongly recommend users use a separate dedicated formatter](../linting/troubleshooting/Formatting.mdx))
#### ✨ Rule Enhancements
@@ -131,18 +141,18 @@ We have two common strategies for them:
- Add an option to disable the new logic: which is a breaking change if opt-in, and a non-breaking change if opt-out
- Add an option to enable the new logic: which is a breaking change if opt-out, and a non-breaking change if opt-in
-See [Can we standardize logical direction of rule options?](https://github.com/typescript-eslint/typescript-eslint/discussions/6101) for context on naming options.
+See [Can we standardize logical direction of rule options?](https://github.com/typescript-eslint/typescript-eslint/discussions/6101) for context on naming options.
-For enhancements meant to limit which kinds of nodes the rule targets, mark the issue as blocked on [RFC: Common format to specify a type or value as a rule option](https://github.com/typescript-eslint/typescript-eslint/discussions/6017).
+For enhancements meant to limit which kinds of nodes the rule targets, mark the issue as blocked on [RFC: Common format to specify a type or value as a rule option](https://github.com/typescript-eslint/typescript-eslint/discussions/6017).
#### 🚀 New Rules
We're generally accepting of new rules that meet the above feature request criteria.
-The biggest exception is rules that can roughly be implemented with [`@typescript-eslint/ban-types`](/rules/ban-types) and/or [`no-restricted-syntax`](https://eslint.org/docs/latest/rules/no-restricted-syntax).
+The biggest exception is rules that can roughly be implemented with [`@typescript-eslint/ban-types`](/rules/ban-types) and/or [`no-restricted-syntax`](https://eslint.org/docs/latest/rules/no-restricted-syntax).
## Pruning Old Issues
-Every so often, we like to [search for open issues `awaiting response`](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aopen+is%3Aissue+label%3A%22awaiting+response%22) to find ones that might have been forgotten.
+Every so often, we like to [search for open issues `awaiting response`](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aopen+is%3Aissue+label%3A%22awaiting+response%22) to find ones that might have been forgotten.
Our flow for issues that have been waiting for >=1 month is:
1. Ping the author with a message like the _Checking In_ template
diff --git a/docs/maintenance/Pull_Requests.mdx b/docs/maintenance/Pull_Requests.mdx
index 4ed8fa9c513f..23a01c4ceee2 100644
--- a/docs/maintenance/Pull_Requests.mdx
+++ b/docs/maintenance/Pull_Requests.mdx
@@ -15,7 +15,7 @@ If you're ever unsure on any part of PR reviews, don't hesitate to loop in a mai
## Governance
-Per the scales from [Contribution Tiers > Pointing](./Contributor_Tiers.mdx#pointing):
+Per the scales from [Contribution Tiers > Pointing](./Contributor_Tiers.mdx#pointing):
- Straightforward: At reviewer discretion, may be merged with a single approval by any committer or maintainer.
This includes docs enhancements, bug fixes, and feature additions.
@@ -27,7 +27,7 @@ Per the scales from [Contribution Tiers > Pointing](./Contributor_Tiers.mdx#poin
## PR Flow
:::note
-We include a set of common responses to PRs in [`.github/replies.yml`](https://github.com/typescript-eslint/typescript-eslint/blob/main/.github/replies.yml), intended to be used with the [Refined Saved Replies](https://github.com/JoshuaKGoldberg/refined-saved-replies) extension.
+We include a set of common responses to PRs in [`.github/replies.yml`](https://github.com/typescript-eslint/typescript-eslint/blob/main/.github/replies.yml), intended to be used with the [Refined Saved Replies](https://github.com/JoshuaKGoldberg/refined-saved-replies) extension.
Don't treat these as exact responses you must use: they're just a starting copy+paste helper.
Please do adopt your specific responses to your personal tone and to match the thread for non-straightforward PRs.
:::
@@ -36,7 +36,7 @@ TODO: This will be filled out... soon!
## Pruning Old PRs
-Every so often, we like to [search for open PRs `awaiting response`](https://github.com/typescript-eslint/typescript-eslint/pulls?q=is%3Aopen+is%3Apr+label%3A%22awaiting+response%22) to find ones that might have been forgotten.
+Every so often, we like to [search for open PRs `awaiting response`](https://github.com/typescript-eslint/typescript-eslint/pulls?q=is%3Aopen+is%3Apr+label%3A%22awaiting+response%22) to find ones that might have been forgotten.
Our flow for PRs that have been waiting for >=1 month is:
1. Ping the author with a message like the _Checking In_ template
@@ -50,4 +50,4 @@ Consider adding fun to PR reviews with GIFs.
The benefits of using GIFs in PR reviews are that it adds a touch of humor and lightheartedness to the process, builds camaraderie and team spirit, and can help break the ice by making users feel welcomed.
Please remember to use appropriate and respectful GIFs and use them sparingly; GIFs should enhance the conversation, not detract from it.
-> We like to use the _GIFs for Github_ extension: available as [GIFs for GitHub (Chrome)](https://chrome.google.com/webstore/detail/gifs-for-github/dkgjnpbipbdaoaadbdhpiokaemhlphep) and [GIFs for GitHub (Firefox)](https://addons.mozilla.org/en-US/firefox/addon/gifs-for-github). ✨
+> We like to use the _GIFs for Github_ extension: available as [GIFs for GitHub (Chrome)](https://chrome.google.com/webstore/detail/gifs-for-github/dkgjnpbipbdaoaadbdhpiokaemhlphep) and [GIFs for GitHub (Firefox)](https://addons.mozilla.org/en-US/firefox/addon/gifs-for-github). ✨
diff --git a/docs/maintenance/Releases.mdx b/docs/maintenance/Releases.mdx
index 651624b77e36..6d78133e6b04 100644
--- a/docs/maintenance/Releases.mdx
+++ b/docs/maintenance/Releases.mdx
@@ -5,24 +5,25 @@ title: Releases
{/* TODO: update references to lerna to be `nx release instead` */}
-[Users > Releases](../users/Releases.mdx) describes how our automatic releases are done.
-There is generally no maintenance activity we need to take for the weekly releases.
+[Users > Releases](../users/Releases.mdx) describes how our automatic releases
+are done. There is generally no maintenance activity we need to take for the weekly
+releases.
However, there are two kinds of releases we infrequently go through that each require manual effort.
## Major Releases
-Per [Users > Releases > Major Releases](../users/Releases.mdx#major-releases), we infrequently release major versions with accumulated breaking changes.
+Per [Users > Releases > Major Releases](../users/Releases.mdx#major-releases), we infrequently release major versions with accumulated breaking changes.
### 1. Pre-Release Preparation
-1. Create a milestone by the name of the release [example: [Milestone 6.0.0](https://github.com/typescript-eslint/typescript-eslint/milestone/8)].
-1. If an issue for changes to recommended rule configs doesn't yet exist, create one [example: [Changes to the `recommended` sets for 5.0.0](https://github.com/typescript-eslint/typescript-eslint/issues/5900)].
+1. Create a milestone by the name of the release [example: [Milestone 6.0.0](https://github.com/typescript-eslint/typescript-eslint/milestone/8)].
+1. If an issue for changes to recommended rule configs doesn't yet exist, create one [example: [Changes to the `recommended` sets for 5.0.0](https://github.com/typescript-eslint/typescript-eslint/issues/5900)].
1. Add any breaking changes intended for the release to that milestone.
1. Create two new branches off `main` in the project repository (not a personal fork):
- `v${major}`
- `v${major}-canary-auto-release`
-1. Raise a PR from `v${major}-canary-auto-release` to `main` modifying the [`ci.yml` workflow](https://github.com/typescript-eslint/typescript-eslint/blob/main/.github/workflows/ci.yml) [example: [chore: add auto-canary release for v6](https://github.com/typescript-eslint/typescript-eslint/pull/5883)]:
+1. Raise a PR from `v${major}-canary-auto-release` to `main` modifying the [`ci.yml` workflow](https://github.com/typescript-eslint/typescript-eslint/blob/main/.github/workflows/ci.yml) [example: [chore: add auto-canary release for v6](https://github.com/typescript-eslint/typescript-eslint/pull/5883)]:
- Under `pushes:` at the beginning of the file, add an `- v${major}` list item.
- Add a `publish_canary_version_v${major}` step the same as `publish_canary_version` except:
- Add the condition: `if: github.ref == 'refs/heads/v${major}'`.
@@ -31,13 +32,13 @@ Per [Users > Releases > Major Releases](../users/Releases.mdx#major-releases), w
### 2. Merging Breaking Changes
-1. Send a PR from `v${major}` to `main` [example: [v6.0.0](https://github.com/typescript-eslint/typescript-eslint/pull/5886)].
-1. Change all [breaking change PRs](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+is%3Aopen+label%3A%22breaking+change%22) to target the `v${major}` branch.
+1. Send a PR from `v${major}` to `main` [example: [v6.0.0](https://github.com/typescript-eslint/typescript-eslint/pull/5886)].
+1. Change all [breaking change PRs](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+is%3Aopen+label%3A%22breaking+change%22) to target the `v${major}` branch.
- To signify these changes as breaking, the first line of the PR description must read as `BREAKING CHANGE:`, and second line should briefly summarize the changes.
- It is important to note that when merged the commit message must also include `BREAKING CHANGE:` as the first line in order for lerna to recognize it as a breaking change in the release notes. If you miss this it just means more manual work when writing the release documentation.
1. Wait until all required PRs have been merged
1. Let the release wait for **at least 1 week** to allow time for early adopters to help test it and discuss the changes.
- - Promote it on the [`@tseslint`](https://twitter.com/tseslint) twitter to get some additional attention.
+ - Promote it on the [`@tseslint`](https://twitter.com/tseslint) twitter to get some additional attention.
1. Once discussions have settled, rebase merge the PR on top of `main`.
:::note
@@ -49,12 +50,12 @@ They don't need any special treatment.
1. Discuss with the maintainers to be ready for an [out-of-band](#out-of-band-releases) release. Doing this manually helps ensure someone is on-hand to action any issues that might arise from the major release.
1. Prepare the release notes. Lerna will automatically generate the release notes on GitHub, however this will be disorganized and unhelpful for users. We need to reorganize the release notes so that breaking changes are placed at the top to make them most visible. If any migrations are required, we must list the steps to make it easy for users.
- - Example release notes: [`v5.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v5.0.0), [`v4.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v4.0.0), [`v3.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v3.0.0)
+ - Example release notes: [`v5.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v5.0.0), [`v4.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v4.0.0), [`v3.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v3.0.0)
1. Finally, tweet the release on the `@tseslint` twitter with a link to the GitHub release. Make sure you include additional information about the highlights of the release!
## Out-of-Band Releases
-Per [Users > Releases > Out-of-Band Releases](../users/Releases.mdx#out-of-band-releases), we may manually trigger a new release for a rare emergency such as a critical regression.
+Per [Users > Releases > Out-of-Band Releases](../users/Releases.mdx#out-of-band-releases), we may manually trigger a new release for a rare emergency such as a critical regression.
If that happens:
1. Mention in any relevant issue(s) that you intend to release an out-of-band release
diff --git a/docs/maintenance/issues/Rule_Deprecations.mdx b/docs/maintenance/issues/Rule_Deprecations.mdx
index 1e89880390b6..3ce5c7e88b4e 100644
--- a/docs/maintenance/issues/Rule_Deprecations.mdx
+++ b/docs/maintenance/issues/Rule_Deprecations.mdx
@@ -14,7 +14,7 @@ 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).
+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:
@@ -23,12 +23,12 @@ Provide it an `## Overview` containing:
- 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.
+> 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):
+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`](/rules/camelcase/) as an example)
+ - 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`](/rules/camelcase/) as an example)
diff --git a/docs/maintenance/pull-requests/Dependency_Version_Upgrades.mdx b/docs/maintenance/pull-requests/Dependency_Version_Upgrades.mdx
index 73d4e4fbed2d..ab60051651c4 100644
--- a/docs/maintenance/pull-requests/Dependency_Version_Upgrades.mdx
+++ b/docs/maintenance/pull-requests/Dependency_Version_Upgrades.mdx
@@ -20,7 +20,11 @@ The typescript-eslint repository contains four kinds of version ranges for the `
- Integration tests: Pinned to our lowest supported ESLint version
- Packages with a `*` `peerDependency` version: These fall back to the explicit `peerDependency` versions
- Packages with explicit `peerDependency` versions: The full range of supported ESLint major versions
-- [Root `package.json`](https://github.com/typescript-eslint/typescript-eslint/blob/main/package.json)'s' `devDependency`: A relatively recent release, used only for repository development
+-
+ [Root
+ `package.json`](https://github.com/typescript-eslint/typescript-eslint/blob/main/package.json)
+
+ 's' `devDependency`: A relatively recent release, used only for repository development
:::tip
Whenever you discover any new areas of work that are blocked by dropping an old ESLint version, such as new ESLint API deprecations, add a _TODO_ comment that will be caught by the regular expressions under [Removing Support for an Old ESLint Version](#removing-support-for-an-old-eslint-version).
@@ -30,8 +34,8 @@ Whenever you discover any new areas of work that are blocked by dropping an old
1. Upgrade the root `package.json` `devDependency` to the latest ESLint
1. Add the new major version to the explicit `peerDependency` versions
-1. Check [`eslint-visitor-keys`](https://www.npmjs.com/package/eslint-visitor-keys) for a new version to be upgraded to as well.
-1. Update [Users > Dependency Versions > ESLint](../../users/Dependency_Versions.mdx#eslint)
+1. Check [`eslint-visitor-keys`](https://www.npmjs.com/package/eslint-visitor-keys) for a new version to be upgraded to as well.
+1. Update [Users > Dependency Versions > ESLint](../../users/Dependency_Versions.mdx#eslint)
### Removing Support for an Old ESLint Version
@@ -42,9 +46,9 @@ Whenever you discover any new areas of work that are blocked by dropping an old
- `/eslint.*5/i`
- `/todo.*eslint.*5/i`
- `/todo.*eslint/i`
-1. Update [Users > Dependency Versions > ESLint](../../users/Dependency_Versions.mdx#eslint)
+1. Update [Users > Dependency Versions > ESLint](../../users/Dependency_Versions.mdx#eslint)
-See [chore: drop support for ESLint v6](https://github.com/typescript-eslint/typescript-eslint/pull/5972) for reference.
+See [chore: drop support for ESLint v6](https://github.com/typescript-eslint/typescript-eslint/pull/5972) for reference.
## Node
@@ -56,7 +60,7 @@ The typescript-eslint repository contains three kinds of version ranges for Node
Change those numbers accordingly when adding support for a new Node version or removing support for an old Node version.
-See [feat: drop support for node v12](https://github.com/typescript-eslint/typescript-eslint/pull/5918) + [chore: test node v14 on ci.yml](https://github.com/typescript-eslint/typescript-eslint/pull/5512) for reference.
+See [feat: drop support for node v12](https://github.com/typescript-eslint/typescript-eslint/pull/5918) + [chore: test node v14 on ci.yml](https://github.com/typescript-eslint/typescript-eslint/pull/5512) for reference.
## TypeScript
@@ -102,11 +106,16 @@ We generally start the process of supporting a new TypeScript version just after
See for reference (caveat: these don't follow the exact process described here):
-- [TypeScript 4.7 Support](https://github.com/typescript-eslint/typescript-eslint/issues/4800)
-- [TypeScript 4.8 Support](https://github.com/typescript-eslint/typescript-eslint/issues/5227)
-- [feat: support TypeScript 4.8](https://github.com/typescript-eslint/typescript-eslint/pull/5551)
-- [feat: support TypeScript 4.9](https://github.com/typescript-eslint/typescript-eslint/pull/5716)
-- [chore: bump TS from 4.9RC to 4.9](https://github.com/typescript-eslint/typescript-eslint/commit/a40a311bb52a2b1cfac43851b201f8cfc96c8d5d)
+- [TypeScript 4.7
+ Support](https://github.com/typescript-eslint/typescript-eslint/issues/4800)
+- [TypeScript 4.8
+ Support](https://github.com/typescript-eslint/typescript-eslint/issues/5227)
+- [feat: support TypeScript
+ 4.8](https://github.com/typescript-eslint/typescript-eslint/pull/5551)
+- [feat: support TypeScript
+ 4.9](https://github.com/typescript-eslint/typescript-eslint/pull/5716)
+- [chore: bump TS from 4.9RC to
+ 4.9](https://github.com/typescript-eslint/typescript-eslint/commit/a40a311bb52a2b1cfac43851b201f8cfc96c8d5d)
### Removing Support for an Old TypeScript Version
@@ -115,7 +124,7 @@ A single PR can remove support for old TypeScript versions as a breaking change:
1. Update the root `package.json` `devDependency`
1. Update the `SUPPORTED_TYPESCRIPT_VERSIONS` constant in `warnAboutTSVersion.ts`
1. Update the `versions` constant in `version-check.ts`
-1. Update [Users > Dependency Versions > TypeScript](../../users/Dependency_Versions.mdx#typescript)
+1. Update [Users > Dependency Versions > TypeScript](../../users/Dependency_Versions.mdx#typescript)
1. Search for source code comments (excluding `CHANGELOG.md` files) that mention a now-unsupported version of TypeScript.
- For example, to remove support for v4.3, searches might include:
- `4.3`
@@ -125,4 +134,4 @@ A single PR can remove support for old TypeScript versions as a breaking change:
- `/todo.*ts/i`
- `/todo.*typescript/i`
-See [feat: bump minimum supported TS version to 4.2.4](https://github.com/typescript-eslint/typescript-eslint/pull/5915).
+See [feat: bump minimum supported TS version to 4.2.4](https://github.com/typescript-eslint/typescript-eslint/pull/5915).
diff --git a/docs/packages/ESLint_Plugin.mdx b/docs/packages/ESLint_Plugin.mdx
index 6db78ddfcebe..fcc194c9d188 100644
--- a/docs/packages/ESLint_Plugin.mdx
+++ b/docs/packages/ESLint_Plugin.mdx
@@ -8,15 +8,15 @@ sidebar_label: eslint-plugin
> The TypeScript plugin for ESLint. ✨
:::info
-See [Getting Started](../Getting_Started.mdx) for documentation on how to lint your TypeScript code with ESLint.
+See [Getting Started](../Getting_Started.mdx) for documentation on how to lint your TypeScript code with ESLint.
:::
`@typescript-eslint/eslint-plugin` is an ESLint plugin used to load in custom rules and rule configurations lists from typescript-eslint.
-Those rules rely on [`@typescript-eslint/parser`](./Parser.mdx) to parse TypeScript code into ESLint-compatible nodes, as well as provide backing TypeScript programs.
+Those rules rely on [`@typescript-eslint/parser`](./Parser.mdx) to parse TypeScript code into ESLint-compatible nodes, as well as provide backing TypeScript programs.
## Exports
-| Name | Description |
-| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `configs` | Object mapping string names of configs to extendable [ESLint config settings](https://eslint.org/docs/latest/user-guide/configuring/configuration-files#extending-configuration-files). |
-| `rules` | Object mapping string names of rules to the [rule objects](https://eslint.org/docs/latest/developer-guide/working-with-rules). |
+| Name | Description |
+| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `configs` | Object mapping string names of configs to extendable [ESLint config settings](https://eslint.org/docs/latest/user-guide/configuring/configuration-files#extending-configuration-files). |
+| `rules` | Object mapping string names of rules to the [rule objects](https://eslint.org/docs/latest/developer-guide/working-with-rules). |
diff --git a/docs/packages/ESLint_Plugin_TSLint.mdx b/docs/packages/ESLint_Plugin_TSLint.mdx
index 525b1c072477..8941e88c0bfa 100644
--- a/docs/packages/ESLint_Plugin_TSLint.mdx
+++ b/docs/packages/ESLint_Plugin_TSLint.mdx
@@ -8,8 +8,8 @@ sidebar_label: eslint-plugin-tslint
> ESLint plugin that allows running TSLint rules within ESLint to help you migrate from TSLint to ESLint. ✨
:::caution
-Per [What About TSLint?](../linting/troubleshooting/TSLint.mdx), we highly recommend migrating off TSLint.
-See [Getting Started](../Getting_Started.mdx) for documentation on how to lint your TypeScript code with ESLint.
+Per [What About TSLint?](../linting/troubleshooting/TSLint.mdx), we highly recommend migrating off TSLint.
+See [Getting Started](../Getting_Started.mdx) for documentation on how to lint your TypeScript code with ESLint.
:::
## Installation
diff --git a/docs/packages/Parser.mdx b/docs/packages/Parser.mdx
index 5d5860493103..ce6b9ef9c5b7 100644
--- a/docs/packages/Parser.mdx
+++ b/docs/packages/Parser.mdx
@@ -5,7 +5,7 @@ sidebar_label: parser
# `@typescript-eslint/parser`
-> An [ESLint parser](https://eslint.org/docs/user-guide/configuring/plugins#specifying-parser) used to parse TypeScript code into ESLint-compatible nodes, as well as provide backing TypeScript programs. ✨
+> An [ESLint parser](https://eslint.org/docs/user-guide/configuring/plugins#specifying-parser) used to parse TypeScript code into ESLint-compatible nodes, as well as provide backing TypeScript programs. ✨
This is necessary because TypeScript produces a different, incompatible AST format to the one that ESLint requires to work.
For example, this is not valid JavaScript code because it contains the `: number` type annotation:
@@ -21,12 +21,12 @@ TS's AST is optimized for its use case of parsing incomplete code and typechecki
ESTree is unoptimized and intended for "general purpose" use-cases of traversing the AST.
:::tip
-You can select `@typescript-eslint/parser` on the [typescript-eslint playground](/play#showAST=es)'s right sidebar by selecting _ESTree_.
+You can select `@typescript-eslint/parser` on the [typescript-eslint playground](/play#showAST=es)'s right sidebar by selecting _ESTree_.
:::
## Configuration
-The following additional configuration options are available by specifying them in [`parserOptions`](https://eslint.org/docs/user-guide/configuring/language-options#specifying-parser-options) in your ESLint configuration file.
+The following additional configuration options are available by specifying them in [`parserOptions`](https://eslint.org/docs/user-guide/configuring/language-options#specifying-parser-options) in your ESLint configuration file.
```ts
interface ParserOptions {
@@ -60,13 +60,13 @@ interface ParserOptions {
Whether to use common heuristics to infer whether ESLint is being used as part of a single run (as opposed to `--fix` mode or in a persistent session such as an editor extension).
-When typescript-eslint handles TypeScript Program management behind the scenes for [linting with type information](../linting/Typed_Linting.mdx), this distinction is important for performance.
+When typescript-eslint handles TypeScript Program management behind the scenes for [linting with type information](../linting/Typed_Linting.mdx), this distinction is important for performance.
There is significant overhead to managing TypeScript "Watch" Programs needed for the long-running use-case.
Being able to assume the single run case allows typescript-eslint to faster immutable Programs instead.
:::tip
We've seen `allowAutomaticSingleRunInference` improve linting speed in CI by up to 10-20%.
-Our plan is to [enable `allowAutomaticSingleRunInference` by default in an upcoming major version](https://github.com/typescript-eslint/typescript-eslint/issues/8121).
+Our plan is to [enable `allowAutomaticSingleRunInference` by default in an upcoming major version](https://github.com/typescript-eslint/typescript-eslint/issues/8121).
:::
### `cacheLifetime`
@@ -86,7 +86,7 @@ Optional additional options to describe how to parse the raw syntax.
> Default `false`.
Enable parsing JSX when `true`.
-More details can be found in the [TypeScript handbook's JSX docs](https://www.typescriptlang.org/docs/handbook/jsx.html).
+More details can be found in the [TypeScript handbook's JSX docs](https://www.typescriptlang.org/docs/handbook/jsx.html).
**NOTE:** this setting does not affect known file types (`.js`, `.mjs`, `.cjs`, `.jsx`, `.ts`, `.mts`, `.cts`, `.tsx`, `.json`) because the TypeScript compiler has its own internal handling for known file extensions.
@@ -126,7 +126,7 @@ Specifies the version of ECMAScript syntax you want to use. This is used by the
> Default `undefined`.
-This option allow you to tell parser to act as if `emitDecoratorMetadata: true` is set in `tsconfig.json`, but without [type-aware linting](../linting/Typed_Linting.mdx). In other words, you don't have to specify `parserOptions.project` in this case, making the linting process faster.
+This option allow you to tell parser to act as if `emitDecoratorMetadata: true` is set in `tsconfig.json`, but without [type-aware linting](../linting/Typed_Linting.mdx). In other words, you don't have to specify `parserOptions.project` in this case, making the linting process faster.
### `extraFileExtensions`
@@ -166,7 +166,7 @@ If you provide `parserOptions.project`, you do not need to set this, as it will
> Default `'React'`
The identifier that's used for JSX Elements creation (after transpilation).
-If you're using a library other than React (like `preact`), then you should change this value. If you are using the [new JSX transform](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) you can set this to `null`.
+If you're using a library other than React (like `preact`), then you should change this value. If you are using the [new JSX transform](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) you can set this to `null`.
This should not be a member expression - just the root identifier (i.e. use `"React"` instead of `"React.createElement"`).
@@ -176,7 +176,7 @@ If you provide `parserOptions.project`, you do not need to set this, as it will
> Default `['es2018']`
-For valid options, see the [TypeScript compiler options](https://www.typescriptlang.org/tsconfig#lib).
+For valid options, see the [TypeScript compiler options](https://www.typescriptlang.org/tsconfig#lib).
Specifies the TypeScript `lib`s that are available. This is used by the scope analyser to ensure there are global variables declared for the types exposed by TypeScript.
@@ -190,7 +190,12 @@ This option allows you to programmatically provide an instance of a TypeScript P
This will override any programs that would have been computed from `parserOptions.project`.
All linted files must be part of the provided program(s).
-[Refer to the TypeScript Wiki for an example on how to write the `resolveModuleNames` function](https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#customizing-module-resolution).
+
+ [Refer to the TypeScript Wiki for an example on how to write the
+ `resolveModuleNames`
+ function](https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#customizing-module-resolution)
+
+.
### `project`
@@ -220,7 +225,7 @@ This option allows you to provide a path to your project's `tsconfig.json`. **Th
- If you use project references, TypeScript will not automatically use project references to resolve files. This means that you will have to add each referenced tsconfig to the `project` field either separately, or via a glob.
-- Note that using wide globs `**` in your `parserOptions.project` may cause performance implications. Instead of globs that use `**` to recursively check all folders, prefer paths that use a single `*` at a time. For more info see [#2611](https://github.com/typescript-eslint/typescript-eslint/issues/2611).
+- Note that using wide globs `**` in your `parserOptions.project` may cause performance implications. Instead of globs that use `**` to recursively check all folders, prefer paths that use a single `*` at a time. For more info see [#2611](https://github.com/typescript-eslint/typescript-eslint/issues/2611).
- TypeScript will ignore files with duplicate filenames in the same folder (for example, `src/file.ts` and `src/file.js`). TypeScript purposely ignore all but one of the files, only keeping the one file with the highest priority extension (the extension priority order (from highest to lowest) is `.ts`, `.tsx`, `.d.ts`, `.js`, `.jsx`). For more info see #955.
@@ -309,7 +314,7 @@ We're hopeful this option will eventually become the standard way to enable type
It switches the parser from manually creating TypeScript programs to instead calling the same "project services" API used by editors such as VS Code.
However, because it's so new and untested, we're keeping it under the `EXPERIMENTAL_` prefix for at least all of the `6.X` versions.
-See [feat(typescript-estree): add EXPERIMENTAL_useProjectService option to use TypeScript project service](https://github.com/typescript-eslint/typescript-eslint/pull/6754) for more information.
+See [feat(typescript-estree): add EXPERIMENTAL_useProjectService option to use TypeScript project service](https://github.com/typescript-eslint/typescript-eslint/pull/6754) for more information.
## Utilities
diff --git a/docs/packages/Rule_Tester.mdx b/docs/packages/Rule_Tester.mdx
index 51f53519e797..4a6cfcc04bf6 100644
--- a/docs/packages/Rule_Tester.mdx
+++ b/docs/packages/Rule_Tester.mdx
@@ -208,7 +208,7 @@ Be sure to set `RuleTester`'s static properties _before_ calling `new RuleTester
#### Mocha
-Consider setting up `RuleTester`'s static properties in a [`mochaGlobalSetup` fixture](https://mochajs.org/#global-setup-fixtures):
+Consider setting up `RuleTester`'s static properties in a [`mochaGlobalSetup` fixture](https://mochajs.org/#global-setup-fixtures):
```ts
import * as mocha from 'mocha';
@@ -219,7 +219,7 @@ RuleTester.afterAll = mocha.after;
#### Vitest
-Consider setting up `RuleTester`'s static properties in a [`setupFiles` script](https://vitest.dev/config/#setupfiles):
+Consider setting up `RuleTester`'s static properties in a [`setupFiles` script](https://vitest.dev/config/#setupfiles):
```ts
import * as vitest from 'vitest';
diff --git a/docs/packages/Scope_Manager.mdx b/docs/packages/Scope_Manager.mdx
index cd33ac0fc751..9ad86dc02fac 100644
--- a/docs/packages/Scope_Manager.mdx
+++ b/docs/packages/Scope_Manager.mdx
@@ -5,7 +5,7 @@ sidebar_label: scope-manager
# `@typescript-eslint/scope-manager`
-> A fork of [`eslint-scope`](https://github.com/eslint/eslint-scope), enhanced to support TypeScript functionality. ✨
+> A fork of [`eslint-scope`](https://github.com/eslint/eslint-scope), enhanced to support TypeScript functionality. ✨
A "scope analyser" traverses an AST and builds a model of how variables (and in our case, types) are defined and consumed by the source code.
This form of static analysis allows you to understand and trace variables throughout the program, allowing you to access powerful information about a program without needing to drop into the much, much heavier type information.
@@ -91,6 +91,7 @@ const scope = analyze(ast, {
## References
-- [You can view the original BSD 2 license for the code here](https://github.com/eslint/eslint-scope/blob/dbddf14d5771b21b5da704213e4508c660ca1c64/LICENSE)
+- [You can view the original BSD 2 license for the code
+ here](https://github.com/eslint/eslint-scope/blob/dbddf14d5771b21b5da704213e4508c660ca1c64/LICENSE)
- https://eslint.org/docs/developer-guide/scope-manager-interface
- https://github.com/eslint/eslint-scope
diff --git a/docs/packages/TypeScript_ESTree.mdx b/docs/packages/TypeScript_ESTree.mdx
index 27122374bd18..1b0f5daace7c 100644
--- a/docs/packages/TypeScript_ESTree.mdx
+++ b/docs/packages/TypeScript_ESTree.mdx
@@ -5,14 +5,15 @@ sidebar_label: typescript-estree
# `@typescript-eslint/typescript-estree`
-> The underlying code used by [`@typescript-eslint/parser`](./Parser.mdx) that converts TypeScript source code into an ESTree-compatible form. ✨
+> The underlying code used by [`@typescript-eslint/parser`](./Parser.mdx) that converts TypeScript source code into an ESTree-compatible form. ✨
This parser is designed to be generic and robust.
It can be used to power any use-case which requires taking TypeScript source code and producing an ESTree-compatible AST.
It is most known for use within these hyper-popular open-source projects to power their TypeScript support:
-- [ESLint](https://eslint.org), the pluggable linting utility for JavaScript and JSX
+- [ESLint](https://eslint.org), the pluggable linting utility for
+ JavaScript and JSX
- [Prettier](https://prettier.io), an opinionated code formatter
It works by:
diff --git a/docs/packages/Utils.mdx b/docs/packages/Utils.mdx
index df05daa76909..340e632ed2a1 100644
--- a/docs/packages/Utils.mdx
+++ b/docs/packages/Utils.mdx
@@ -8,21 +8,21 @@ sidebar_label: utils
> Utilities for working with TypeScript + ESLint together. ✨
This package contains public utilities for writing custom rules and plugins in TypeScript.
-Rules declared in [`@typescript-eslint/eslint-plugin`](./ESLint_Plugin.mdx) are created using these utility functions.
+Rules declared in [`@typescript-eslint/eslint-plugin`](./ESLint_Plugin.mdx) are created using these utility functions.
Any custom rules you write generally will be as well.
-> See [Custom Rules](../developers/Custom_Rules.mdx) for documentation on creating your own custom ESLint rules for TypeScript code.
+> See [Custom Rules](../developers/Custom_Rules.mdx) for documentation on creating your own custom ESLint rules for TypeScript code.
## Exports
-| Name | Description |
-| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `AST_NODE_TYPES` | An enum with the names of every single _node_ found in `TSESTree`. |
-| `AST_TOKEN_TYPES` | An enum with the names of every single _token_ found in `TSESTree`. |
-| `ASTUtils` | Tools for operating on the ESTree AST. Also includes the [`@eslint-community/eslint-utils`](https://www.npmjs.com/package/@eslint-community/eslint-utils) package, correctly typed to work with the types found in `TSESTree` |
-| `ESLintUtils` | Tools for creating ESLint rules with TypeScript. |
-| `JSONSchema` | Strict types for the JSON Schema v4 spec - the version that ESLint uses to validate all rules with. |
-| `ParserServices` | Typing for the parser services provided when parsing a file using `@typescript-eslint/typescript-estree`. |
-| `TSESLint` | Types for ESLint, correctly typed to work with the types found in `TSESTree`. |
-| `TSESLintScope` | The [`eslint-scope`](https://www.npmjs.com/package/eslint-scope) package, correctly typed to work with the types found in both `TSESTree` and `TSESLint` |
-| `TSESTree` | Types for the TypeScript flavor of ESTree created by `@typescript-eslint/typescript-estree`. |
+| Name | Description |
+| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `AST_NODE_TYPES` | An enum with the names of every single _node_ found in `TSESTree`. |
+| `AST_TOKEN_TYPES` | An enum with the names of every single _token_ found in `TSESTree`. |
+| `ASTUtils` | Tools for operating on the ESTree AST. Also includes the [`@eslint-community/eslint-utils`](https://www.npmjs.com/package/@eslint-community/eslint-utils) package, correctly typed to work with the types found in `TSESTree` |
+| `ESLintUtils` | Tools for creating ESLint rules with TypeScript. |
+| `JSONSchema` | Strict types for the JSON Schema v4 spec - the version that ESLint uses to validate all rules with. |
+| `ParserServices` | Typing for the parser services provided when parsing a file using `@typescript-eslint/typescript-estree`. |
+| `TSESLint` | Types for ESLint, correctly typed to work with the types found in `TSESTree`. |
+| `TSESLintScope` | The [`eslint-scope`](https://www.npmjs.com/package/eslint-scope) package, correctly typed to work with the types found in both `TSESTree` and `TSESLint` |
+| `TSESTree` | Types for the TypeScript flavor of ESTree created by `@typescript-eslint/typescript-estree`. |
diff --git a/docs/users/Dependency_Versions.mdx b/docs/users/Dependency_Versions.mdx
index 1954306a646a..4c6359dee034 100644
--- a/docs/users/Dependency_Versions.mdx
+++ b/docs/users/Dependency_Versions.mdx
@@ -13,7 +13,7 @@ We generally support at least the latest two major versions of ESLint.
## Node
-This project makes an effort to support Active LTS and Maintenance LTS release statuses of Node according to [Node's release document](https://github.com/nodejs/release#release-schedule).
+This project makes an effort to support Active LTS and Maintenance LTS release statuses of Node according to [Node's release document](https://github.com/nodejs/release#release-schedule).
Support for specific Current status releases are considered periodically.
## TypeScript
@@ -25,7 +25,7 @@ Support for specific Current status releases are considered periodically.