From 3126bf2c1a8f9b41ad2876f402b023be0a1287a5 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 11 Jan 2023 09:50:11 -0500 Subject: [PATCH 1/6] chore(website): consistent .mdx file naming --- .github/pull_request_template.md | 2 +- docs/{Architecture.md => Architecture.mdx} | 0 docs/{Custom_Rules.md => Custom_Rules.mdx} | 0 docs/{Getting_Started.md => Getting_Started.mdx} | 4 ++-- docs/{MAINTENANCE.md => Maintenance.mdx} | 0 docs/architecture/ESLint_Plugin.mdx | 2 +- docs/architecture/ESLint_Plugin_TSLint.mdx | 4 ++-- docs/linting/CONFIGURATIONS.mdx | 2 +- docs/linting/{Troubleshooting.md => Troubleshooting.mdx} | 8 ++++---- docs/linting/{Typed_Linting.md => Typed_Linting.mdx} | 6 +++--- .../troubleshooting/{FORMATTING.md => Formatting.mdx} | 0 docs/linting/troubleshooting/{TSLint.md => TSLint.mdx} | 0 .../linting/typed-linting/{Monorepos.md => Monorepos.mdx} | 4 ++-- docs/maintenance/{BRANDING.md => Branding.mdx} | 0 docs/maintenance/{ISSUES.md => Issues.mdx} | 0 docs/maintenance/{PULL_REQUESTS.md => Pull_Requests.mdx} | 0 docs/maintenance/{RELEASES.md => Releases.mdx} | 0 docs/maintenance/{VERSIONING.md => Versioning.mdx} | 0 .../{Rule_Deprecations.md => Rule_Deprecations.mdx} | 0 packages/experimental-utils/README.md | 2 +- 20 files changed, 17 insertions(+), 17 deletions(-) rename docs/{Architecture.md => Architecture.mdx} (100%) rename docs/{Custom_Rules.md => Custom_Rules.mdx} (100%) rename docs/{Getting_Started.md => Getting_Started.mdx} (94%) rename docs/{MAINTENANCE.md => Maintenance.mdx} (100%) rename docs/linting/{Troubleshooting.md => Troubleshooting.mdx} (98%) rename docs/linting/{Typed_Linting.md => Typed_Linting.mdx} (90%) rename docs/linting/troubleshooting/{FORMATTING.md => Formatting.mdx} (100%) rename docs/linting/troubleshooting/{TSLint.md => TSLint.mdx} (100%) rename docs/linting/typed-linting/{Monorepos.md => Monorepos.mdx} (96%) rename docs/maintenance/{BRANDING.md => Branding.mdx} (100%) rename docs/maintenance/{ISSUES.md => Issues.mdx} (100%) rename docs/maintenance/{PULL_REQUESTS.md => Pull_Requests.mdx} (100%) rename docs/maintenance/{RELEASES.md => Releases.mdx} (100%) rename docs/maintenance/{VERSIONING.md => Versioning.mdx} (100%) rename docs/maintenance/issues/{Rule_Deprecations.md => Rule_Deprecations.mdx} (100%) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 3e72e13f7a95..b50374076204 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -8,7 +8,7 @@ Otherwise we may not be able to review your PR. - [ ] Addresses an existing open issue: fixes #000 - [ ] That issue was marked as [accepting prs](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aopen+is%3Aissue+label%3A%22accepting+prs%22) -- [ ] Steps in [CONTRIBUTING.md](https://github.com/typescript-eslint/typescript-eslint/blob/main/CONTRIBUTING.md) were taken +- [ ] Steps in [Contributing](https://typescript-eslint.io/contributing) were taken ## Overview diff --git a/docs/Architecture.md b/docs/Architecture.mdx similarity index 100% rename from docs/Architecture.md rename to docs/Architecture.mdx diff --git a/docs/Custom_Rules.md b/docs/Custom_Rules.mdx similarity index 100% rename from docs/Custom_Rules.md rename to docs/Custom_Rules.mdx diff --git a/docs/Getting_Started.md b/docs/Getting_Started.mdx similarity index 94% rename from docs/Getting_Started.md rename to docs/Getting_Started.mdx index 91c978322f48..cdaf39899a9a 100644 --- a/docs/Getting_Started.md +++ b/docs/Getting_Started.mdx @@ -73,6 +73,6 @@ 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.md '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.md). +If you're having problems getting this working, please have a look at our [Troubleshooting & FAQs](./linting/Troubleshooting.mdx). diff --git a/docs/MAINTENANCE.md b/docs/Maintenance.mdx similarity index 100% rename from docs/MAINTENANCE.md rename to docs/Maintenance.mdx diff --git a/docs/architecture/ESLint_Plugin.mdx b/docs/architecture/ESLint_Plugin.mdx index eca601415550..6db78ddfcebe 100644 --- a/docs/architecture/ESLint_Plugin.mdx +++ b/docs/architecture/ESLint_Plugin.mdx @@ -8,7 +8,7 @@ sidebar_label: eslint-plugin > The TypeScript plugin for ESLint. ✨ :::info -See [Getting Started](../Getting_Started.md) 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. diff --git a/docs/architecture/ESLint_Plugin_TSLint.mdx b/docs/architecture/ESLint_Plugin_TSLint.mdx index 582d93aab8ef..525b1c072477 100644 --- a/docs/architecture/ESLint_Plugin_TSLint.mdx +++ b/docs/architecture/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.md), we highly recommend migrating off TSLint. -See [Getting Started](../Getting_Started.md) 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/linting/CONFIGURATIONS.mdx b/docs/linting/CONFIGURATIONS.mdx index aec668a16dde..10d3f6293d54 100644 --- a/docs/linting/CONFIGURATIONS.mdx +++ b/docs/linting/CONFIGURATIONS.mdx @@ -18,7 +18,7 @@ Most projects should extend from at least one of: - [`strict`](#strict): Additional strict rules that can also catch bugs but are more opinionated than recommended rules. :::tip -We recommend most projects use [`recommended-requiring-type-checking`](#recommended-requiring-type-checking) (which requires [typed linting](./Typed_Linting.md)). +We recommend most projects use [`recommended-requiring-type-checking`](#recommended-requiring-type-checking) (which requires [typed linting](./Typed_Linting.mdx)). ::: :::note diff --git a/docs/linting/Troubleshooting.md b/docs/linting/Troubleshooting.mdx similarity index 98% rename from docs/linting/Troubleshooting.md rename to docs/linting/Troubleshooting.mdx index f1aff9346bb5..011a3d288d3f 100644 --- a/docs/linting/Troubleshooting.md +++ b/docs/linting/Troubleshooting.mdx @@ -35,11 +35,11 @@ If you don't find an existing extension rule, or the extension rule doesn't work - If you **do not** want to lint the file: - Use [one of the options ESLint offers](https://eslint.org/docs/latest/user-guide/configuring/ignoring-code) to ignore files, namely a `.eslintignore` file, or `ignorePatterns` config. - If you **do** want to lint the file: - - If you **do not** want to lint the file with [type-aware linting](./Typed_Linting.md): + - If you **do not** want to lint the file with [type-aware linting](./Typed_Linting.mdx): - Use [ESLint's `overrides` configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files#configuration-based-on-glob-patterns) to configure the file to not be parsed with type information. - A popular setup is to omit the above additions from top-level configuration and only apply them to TypeScript files via an override. - Alternatively, you can add `parserOptions: { project: null }` to an override for the files you wish to exclude. Note that `{ project: undefined }` will not work. - - If you **do** want to lint the file with [type-aware linting](./Typed_Linting.md): + - If you **do** want to lint the file with [type-aware linting](./Typed_Linting.mdx): - Check the `include` option of each of the tsconfigs that you provide to `parserOptions.project` - you must ensure that all files match an `include` glob, or else our tooling will not be able to find it. - If your file shouldn't be a part of one of your existing tsconfigs (for example, it is a script/tool local to the repo), then consider creating a new tsconfig (we advise calling it `tsconfig.eslint.json`) in your project root which lists this file in its `include`. For an example of this, you can check out the configuration we use in this repo: - [`tsconfig.eslint.json`](https://github.com/typescript-eslint/typescript-eslint/blob/main/tsconfig.eslint.json) @@ -64,7 +64,7 @@ For example, many projects have files like: In that case, viewing the `.eslintrc.cjs` in an IDE with the ESLint extension will show the error notice that the file couldn't be linted because it isn't included in `tsconfig.json`. -See our docs on [type aware linting](./Typed_Linting.md) for more information. +See our docs on [type aware linting](./Typed_Linting.mdx) for more information. ## I get errors telling me "The file must be included in at least one of the projects provided" @@ -248,7 +248,7 @@ Rules such as [`no-unsafe-argument`](https://typescript-eslint.io/rules/no-unsaf ## My linting feels really slow -As mentioned in the [type-aware linting doc](./Typed_Linting.md), if you're using type-aware linting, your lint times should be roughly the same as your build times. +As mentioned in the [type-aware linting doc](./Typed_Linting.mdx), if you're using type-aware linting, your lint times should be roughly the same as your build times. If you're experiencing times much slower than that, then there are a few common culprits. diff --git a/docs/linting/Typed_Linting.md b/docs/linting/Typed_Linting.mdx similarity index 90% rename from docs/linting/Typed_Linting.md rename to docs/linting/Typed_Linting.mdx index 3e1beb396a8a..8b2c3a407ec8 100644 --- a/docs/linting/Typed_Linting.md +++ b/docs/linting/Typed_Linting.mdx @@ -30,7 +30,7 @@ In more detail: - `parserOptions.tsconfigRootDir` tells our parser the absolute path of your project's root directory. - `parserOptions.project` tells our parser the relative path where your project's `tsconfig.json` is. - - If your project is a multi-package monorepo, see [our docs on configuring a monorepo](./typed-linting/Monorepos.md). + - If your project is a multi-package monorepo, see [our docs on configuring a monorepo](./typed-linting/Monorepos.mdx). - `plugin:@typescript-eslint/recommended-requiring-type-checking` is another recommended configuration we provide. This one contains rules that specifically require type information. With that done, run the same lint command you ran before. @@ -53,8 +53,8 @@ This means that generally they usually only run a complete lint before a push, o ### I get errors telling me "The file must be included in at least one of the projects provided" You're using an outdated version of `@typescript-eslint/parser`. -Update to the latest version to see a more informative version of this error message, explained in our [Troubleshooting and FAQs page](./Troubleshooting.md#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file). +Update to the latest version to see a more informative version of this error message, explained in our [Troubleshooting and FAQs page](./Troubleshooting.mdx#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file). ## Troubleshooting -If you're having problems getting this working, please have a look at our [Troubleshooting and FAQs page](./Troubleshooting.md). +If you're having problems getting this working, please have a look at our [Troubleshooting and FAQs page](./Troubleshooting.mdx). diff --git a/docs/linting/troubleshooting/FORMATTING.md b/docs/linting/troubleshooting/Formatting.mdx similarity index 100% rename from docs/linting/troubleshooting/FORMATTING.md rename to docs/linting/troubleshooting/Formatting.mdx diff --git a/docs/linting/troubleshooting/TSLint.md b/docs/linting/troubleshooting/TSLint.mdx similarity index 100% rename from docs/linting/troubleshooting/TSLint.md rename to docs/linting/troubleshooting/TSLint.mdx diff --git a/docs/linting/typed-linting/Monorepos.md b/docs/linting/typed-linting/Monorepos.mdx similarity index 96% rename from docs/linting/typed-linting/Monorepos.md rename to docs/linting/typed-linting/Monorepos.mdx index e55d20647796..7b01b81d6622 100644 --- a/docs/linting/typed-linting/Monorepos.md +++ b/docs/linting/typed-linting/Monorepos.mdx @@ -38,7 +38,7 @@ Be sure to update your `.eslintrc.js` to point at this new config file. ## One `tsconfig.json` per package (and an optional one in the root) -The `parserOptions.project` option introduced in [Linting with Type Information](../Typed_Linting.md) accepts an array of relative paths. +The `parserOptions.project` option introduced in [Linting with Type Information](../Typed_Linting.mdx) accepts an array of relative paths. Paths may be provided as [Node globs](https://github.com/isaacs/node-glob/blob/f5a57d3d6e19b324522a3fa5bdd5075fd1aa79d1/README.md#glob-primer). For each file being linted, the first matching project path will be used as its backing TSConfig. @@ -104,4 +104,4 @@ As an interim workaround, consider one of the following: ## Troubleshooting -If you're having problems getting this working, please have a look at our [Troubleshooting FAQ](../Troubleshooting.md). +If you're having problems getting this working, please have a look at our [Troubleshooting FAQ](../Troubleshooting.mdx). diff --git a/docs/maintenance/BRANDING.md b/docs/maintenance/Branding.mdx similarity index 100% rename from docs/maintenance/BRANDING.md rename to docs/maintenance/Branding.mdx diff --git a/docs/maintenance/ISSUES.md b/docs/maintenance/Issues.mdx similarity index 100% rename from docs/maintenance/ISSUES.md rename to docs/maintenance/Issues.mdx diff --git a/docs/maintenance/PULL_REQUESTS.md b/docs/maintenance/Pull_Requests.mdx similarity index 100% rename from docs/maintenance/PULL_REQUESTS.md rename to docs/maintenance/Pull_Requests.mdx diff --git a/docs/maintenance/RELEASES.md b/docs/maintenance/Releases.mdx similarity index 100% rename from docs/maintenance/RELEASES.md rename to docs/maintenance/Releases.mdx diff --git a/docs/maintenance/VERSIONING.md b/docs/maintenance/Versioning.mdx similarity index 100% rename from docs/maintenance/VERSIONING.md rename to docs/maintenance/Versioning.mdx diff --git a/docs/maintenance/issues/Rule_Deprecations.md b/docs/maintenance/issues/Rule_Deprecations.mdx similarity index 100% rename from docs/maintenance/issues/Rule_Deprecations.md rename to docs/maintenance/issues/Rule_Deprecations.mdx diff --git a/packages/experimental-utils/README.md b/packages/experimental-utils/README.md index d1468f928b15..a285229f6389 100644 --- a/packages/experimental-utils/README.md +++ b/packages/experimental-utils/README.md @@ -19,4 +19,4 @@ You should switch to importing from that non-experimental package instead. ## Contributing -[See the contributing guide here](../../CONTRIBUTING.md) +[See the contributing guide here](https://typescript-eslint.io). From c0705e94b19f9d169f939d69f8412c75653d4c93 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 11 Jan 2023 14:17:04 -0500 Subject: [PATCH 2/6] Ran Prettier --- docs/maintenance/Branding.mdx | 7 ++++++- docs/maintenance/Versioning.mdx | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/docs/maintenance/Branding.mdx b/docs/maintenance/Branding.mdx index 25c08b216e65..d4e84d90deae 100644 --- a/docs/maintenance/Branding.mdx +++ b/docs/maintenance/Branding.mdx @@ -31,7 +31,12 @@ You can call it _blurple_ if you want. Our logo is also a halfway between [ESLint's logo](https://en.wikipedia.org/wiki/ESLint#/media/File:ESLint_logo.svg) and [TypeScript's logo](https://en.wikipedia.org/wiki/TypeScript#/media/File:Typescript.svg): -typescript-eslint logo +typescript-eslint logo - [Logo PNG download](/img/logo.png) - [Logo SVG download](/img/logo.svg) diff --git a/docs/maintenance/Versioning.mdx b/docs/maintenance/Versioning.mdx index 0dd31ae90c1b..1549e5b4063a 100644 --- a/docs/maintenance/Versioning.mdx +++ b/docs/maintenance/Versioning.mdx @@ -15,11 +15,21 @@ Additionally, we promote to the `latest` tag on NPM once per week, **on Mondays The latest version under the `latest` tag is: -NPM Version + + NPM Version + The latest version under the `canary` tag **(latest commit to `main`)** is: -NPM Version + + NPM Version + :::note The only exception to the automated publishes described above is when we are in the final phases of creating the next major version of the libraries - e.g. going from `1.x.x` to `2.x.x`. From 8c908e5b48b6e4272dc29e3f68e0e32d481a60c5 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Mon, 30 Jan 2023 15:11:51 -0500 Subject: [PATCH 3/6] .md/s/x --- docs/linting/Typed_Linting.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/linting/Typed_Linting.mdx b/docs/linting/Typed_Linting.mdx index 9e4dcfb8e75e..7d9de2f25bb1 100644 --- a/docs/linting/Typed_Linting.mdx +++ b/docs/linting/Typed_Linting.mdx @@ -30,7 +30,7 @@ In more detail: - `plugin:@typescript-eslint/recommended-requiring-type-checking` is another [recommended configuration](./CONFIGURATIONS.mdx) we provide. This one contains recommended rules that additionally require type information. - `parserOptions.project` tells our parser the relative path where your project's `tsconfig.json` is. - - If your project is a multi-package monorepo, see [our docs on configuring a monorepo](./typed-linting/Monorepos.mds). + - If your project is a multi-package monorepo, see [our docs on configuring a monorepo](./typed-linting/Monorepos.mdx). - `parserOptions.tsconfigRootDir` tells our parser the absolute path of your project's root directory (see [Parser#tsconfigRootDir](../architecture/Parser.mdx#tsconfigRootDir)). With that done, run the same lint command you ran before. From 7beb747234baaece36a08c8e5b32a16bd76607c2 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Mon, 30 Jan 2023 15:23:09 -0500 Subject: [PATCH 4/6] Post merge fixups --- docs/linting/troubleshooting/Performance.md | 4 ++-- docs/maintenance/Issues.mdx | 2 +- docs/maintenance/Versioning.mdx | 16 ---------------- .../versioning/dependant-version-upgrades.mdx | 10 +++++----- 4 files changed, 8 insertions(+), 24 deletions(-) diff --git a/docs/linting/troubleshooting/Performance.md b/docs/linting/troubleshooting/Performance.md index 6f696a7a05f0..f4d0f9e3d539 100644 --- a/docs/linting/troubleshooting/Performance.md +++ b/docs/linting/troubleshooting/Performance.md @@ -3,7 +3,7 @@ id: performance-troubleshooting title: Performance Troubleshooting --- -As mentioned in the [type-aware linting doc](../Typed_Linting.md), if you're using type-aware linting, your lint times should be roughly the same as your build times. +As mentioned in the [type-aware linting doc](../Typed_Linting.mdx), if you're using type-aware linting, your lint times should be roughly the same as your build times. If you're experiencing times much slower than that, then there are a few common culprits. @@ -53,7 +53,7 @@ Across a large codebase, these can add up, and severely impact performance. We recommend not using this rule, and instead using a tool like [`prettier`](https://www.npmjs.com/package/prettier) to enforce a standardized formatting. -See our [documentation on formatting](./Formatting.md) for more information. +See our [documentation on formatting](./Formatting.mdx) for more information. ## `eslint-plugin-prettier` diff --git a/docs/maintenance/Issues.mdx b/docs/maintenance/Issues.mdx index fb5eb655dd69..fc8a89711dee 100644 --- a/docs/maintenance/Issues.mdx +++ b/docs/maintenance/Issues.mdx @@ -105,7 +105,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.md)) +- Are for "formatting" functionality (we [strongly recommend users use a separate dedicated formatter](../linting/troubleshooting/Formatting.mdx)) #### ✨ Rule Enhancements diff --git a/docs/maintenance/Versioning.mdx b/docs/maintenance/Versioning.mdx index 25ef10b736b4..92e7369c98d4 100644 --- a/docs/maintenance/Versioning.mdx +++ b/docs/maintenance/Versioning.mdx @@ -14,22 +14,6 @@ Additionally, we promote to the `latest` tag on NPM once per week, **on Mondays The latest version under the `latest` tag is: - ESLint](../Versioning.md#eslint) +1. Update [Versioning > ESLint](../Versioning.mdx#eslint) ### Removing Support for an Old ESLint Version @@ -32,7 +32,7 @@ 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 [Versioning > ESLint](../Versioning.md#eslint) +1. Update [Versioning > ESLint](../Versioning.mdx#eslint) See [chore: drop support for ESLint v6](https://github.com/typescript-eslint/typescript-eslint/pull/5972) for reference. @@ -88,8 +88,8 @@ We generally start the process of supporting a new TypeScript version just after - In the root `package.json`, change the `devDependency` on `typescript` to `~X.Y.3` - Rename and update `patches/typescript*` to the new TypeScript version - Any other changes made necessary due to changes in TypeScript between the RC version and stable version - - Update the supported version range in [Versioning](../Versioning.md) -1. Update [Versioning > TypeScript](../Versioning.md#typescript) + - Update the supported version range in [Versioning](../Versioning.mdx) +1. Update [Versioning > TypeScript](../Versioning.mdx#typescript) 1. Send a PR that updates this documentation page to point to your newer issues and PRs - Also update any of these steps if you go with a different process @@ -108,7 +108,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 [Versioning > TypeScript](../Versioning.md#typescript) +1. Update [Versioning > TypeScript](../Versioning.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` From 7bbbab46295ac7612834851a27eafce6cf1248a9 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Tue, 31 Jan 2023 09:28:10 -0500 Subject: [PATCH 5/6] Ignore warnonunsupportedtypescriptversion --- .cspell.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.cspell.json b/.cspell.json index edd2532abf92..415d46de1cf6 100644 --- a/.cspell.json +++ b/.cspell.json @@ -121,6 +121,7 @@ "unoptimized", "unprefixed", "upsert", + "warnonunsupportedtypescriptversion", "Zacher" ], "overrides": [ From bae1fb8c6a0a868b56fe8b5a34579be442877468 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Tue, 31 Jan 2023 09:31:13 -0500 Subject: [PATCH 6/6] Fix Versioning merge conflicts --- docs/maintenance/Versioning.mdx | 116 -------------------------------- 1 file changed, 116 deletions(-) diff --git a/docs/maintenance/Versioning.mdx b/docs/maintenance/Versioning.mdx index 92e7369c98d4..68a007c89c1a 100644 --- a/docs/maintenance/Versioning.mdx +++ b/docs/maintenance/Versioning.mdx @@ -129,119 +129,3 @@ A change to these packages **_shall not_** be considered breaking if it: ### Internal packages Any packages in this project that are not part of our public API surface (such as `eslint-plugin-internal` or `website`) shall not be considered when calculating new package versions. -om/package/@typescript-eslint/parser"> - - NPM Version - - -The latest version under the `canary` tag **(latest commit to `main`)** is: - - - NPM Version - - -:::note -The only exception to the automated publishes described above is when we are in the final phases of creating the next major version of the libraries - e.g. going from `1.x.x` to `2.x.x`. -During these periods, we manually publish `canary` releases until we are happy with the release and promote it to `latest`. -::: - -## Dependant Versions - -> See [Versioning > Dependant Version Upgrades](./versioning/dependant-version-upgrades.mdx) for maintenance steps to update these versions. - -### ESLint - -> The version range of ESLint currently supported is `^6.0.0 || ^7.0.0 || ^8.0.0`. - -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://nodejs.org/en/about/releases). -Support for specific Current status releases are considered periodically. - -### TypeScript - -> The version range of TypeScript currently supported is `>=3.3.1 <5.0.0`. - -These versions are what we test against. - -We will always endeavor to support the latest stable version of TypeScript. -Sometimes, but not always, changes in TypeScript will not require breaking changes in this project, and so we are able to support more than one version of TypeScript. -In some cases, we may even be able to support additional pre-releases (i.e. betas and release candidates) of TypeScript, but only if doing so does not require us to compromise on support for the latest stable version. - -Note that our packages have an open `peerDependency` requirement in order to allow for experimentation on newer/beta versions of TypeScript. - -If you use a non-supported version of TypeScript, the parser will log a warning to the console. -If you want to disable this warning, you can configure this in your `parserOptions`. -See: [Parser > `warnOnUnsupportedTypeScriptVersion`](../architecture/Parser.mdx#warnonunsupportedtypescriptversion). - -## Breaking Changes - -When considering whether a change should be counted as "breaking" we first need to consider what package(s) it impacts. For example breaking changes for the parser packages have a different standard to those for the ESLint plugins. This is because not only do they have _very_ different API surfaces, they also are consumed in very different ways. - -Please note that the lists provided below are non-exhaustive and are intended to serve as examples to help guide maintainers when planning and reviewing changes. - -### `ast-spec` and `visitor-keys` - -A change to the AST **_shall_** be considered breaking if it: - -- Removes or renames an existing AST Node. -- Removes or renames an existing property on an AST Node. -- Changes a type in a non-refining way (i.e. `string` to `number`). - -A change to the AST **_shall not_** be considered breaking if it: - -- Adds a new property to the AST. -- Adds a new node type to the AST. -- Adds a new node type to an existing union type. -- Refines a type to be more specific (i.e. `string` to `'literal' | 'union'`). -- Removes a type from a union that was erroneously added and did not match the runtime AST. - -### `eslint-plugin` and `eslint-plugin-tslint` - -A change to the plugins **_shall_** be considered breaking if it will require the user to change their config. More specifically: - -- Removes or renames an option. -- Changes the default option of a rule. -- Changes a rule's schema to be stricter. -- Consumes type information to a rule that did not previously consume it. -- Removes or renames a rule. -- Changes any of the recommended configurations. -- Changes the default behavior of a rule in such a way that causes new reports in a large set of cases in an average codebase. - -A change to the plugins **_shall not_** be considered breaking if it: - -- Adds an option that by default does not remove existing functionality. -- Adds a rule. -- Deprecates a rule. -- Adds additional checks to an existing rule that causes new reports in a small-to-medium set of cases in an average codebase. -- Refactors a rule's code in a way that does not introduce additional reports. -- Changes to a rule's description or other metadata. -- Adds a fixer or suggestion fixer. -- Removes a fixer or suggestion fixer. -- Fixes incorrect behavior in a rule that may or may not introduce additional reports. - -#### `parser`, `typescript-estree`, `scope-manager`, `types`, `type-utils`, `utils` - -A change to these packages **_shall_** be considered breaking if it: - -- Changes the API surface in a backwards-incompatible way (remove or rename functions, types, etc). - -A change to these packages **_shall not_** be considered breaking if it: - -- Adds to the API surface (add functions, types, etc). -- Deprecates parts of the API surface. -- Adds **_optional_** arguments to functions or properties to input types. -- Adds additional properties to output types. -- Adds documentation in the form of JSDoc comments. - -### Internal packages - -Any packages in this project that are not part of our public API surface (such as `eslint-plugin-internal` or `website`) shall not be considered when calculating new package versions.