From cc3380444896e7ea5678f7763f007d9b1d29a8df Mon Sep 17 00:00:00 2001 From: Brad Zacher Date: Sat, 24 Jun 2023 15:33:36 +0930 Subject: [PATCH] docs: reorganise release/version docs (#7033) * docs: reorganise release/version docs * Apply suggestions from code review Co-authored-by: Joshua Chen * more docs updates * correct casing --------- Co-authored-by: Joshua Chen --- docs/Architecture.mdx | 17 ---- docs/Developers.mdx | 10 +++ docs/Getting_Started.mdx | 4 +- docs/Maintenance.mdx | 6 +- docs/Packages.mdx | 17 ++++ docs/Users.mdx | 12 +++ .../{Discussions.md => Discussions.mdx} | 2 +- docs/contributing/Local_Development.mdx | 2 +- docs/{ => developers}/Custom_Rules.mdx | 6 +- ...{CONFIGURATIONS.mdx => Configurations.mdx} | 0 docs/linting/Troubleshooting.mdx | 12 +-- docs/linting/Typed_Linting.mdx | 4 +- .../{Performance.md => Performance.mdx} | 0 docs/linting/troubleshooting/TSLint.mdx | 2 +- ...es.mdx => Dependency_Version_Upgrades.mdx} | 14 ++-- docs/maintenance/Issues.mdx | 4 +- .../{Releases.mdx => Major_Release_Steps.mdx} | 75 ++--------------- docs/maintenance/issues/Rule_Deprecations.mdx | 2 +- .../ESLint_Plugin.mdx | 0 .../ESLint_Plugin_TSLint.mdx | 0 docs/{architecture => packages}/Parser.mdx | 4 +- .../Scope_Manager.mdx | 0 .../TypeScript_ESTree.mdx} | 0 docs/{architecture => packages}/Utils.mdx | 4 +- docs/users/Dependency_Versions.mdx | 35 ++++++++ docs/users/Releases.mdx | 83 +++++++++++++++++++ docs/{maintenance => users}/Versioning.mdx | 60 -------------- netlify.toml | 2 +- packages/eslint-plugin-tslint/README.md | 2 +- packages/parser/README.md | 2 +- packages/scope-manager/README.md | 2 +- packages/typescript-estree/README.md | 2 +- packages/utils/README.md | 2 +- .../2022-12-05-asts-and-typescript-eslint.md | 2 +- packages/website/package.json | 2 +- packages/website/sidebars/sidebar.base.js | 75 ++++++++++------- packages/website/tsconfig.json | 2 +- 37 files changed, 251 insertions(+), 217 deletions(-) delete mode 100644 docs/Architecture.mdx create mode 100644 docs/Developers.mdx create mode 100644 docs/Packages.mdx create mode 100644 docs/Users.mdx rename docs/contributing/{Discussions.md => Discussions.mdx} (92%) rename docs/{ => developers}/Custom_Rules.mdx (96%) rename docs/linting/{CONFIGURATIONS.mdx => Configurations.mdx} (100%) rename docs/linting/troubleshooting/{Performance.md => Performance.mdx} (100%) rename docs/maintenance/{versioning/dependant-version-upgrades.mdx => Dependency_Version_Upgrades.mdx} (92%) rename docs/maintenance/{Releases.mdx => Major_Release_Steps.mdx} (55%) rename docs/{architecture => packages}/ESLint_Plugin.mdx (100%) rename docs/{architecture => packages}/ESLint_Plugin_TSLint.mdx (100%) rename docs/{architecture => packages}/Parser.mdx (97%) rename docs/{architecture => packages}/Scope_Manager.mdx (100%) rename docs/{architecture/TypeScript-ESTree.mdx => packages/TypeScript_ESTree.mdx} (100%) rename docs/{architecture => packages}/Utils.mdx (91%) create mode 100644 docs/users/Dependency_Versions.mdx create mode 100644 docs/users/Releases.mdx rename docs/{maintenance => users}/Versioning.mdx (53%) diff --git a/docs/Architecture.mdx b/docs/Architecture.mdx deleted file mode 100644 index ee224c1e90a..00000000000 --- a/docs/Architecture.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: architecture -title: Architecture ---- - -The `@typescript-eslint/*` packages are built from a monorepo located at https://github.com/typescript-eslint/typescript-eslint. -The monorepo is built with [Lerna](https://lerna.js.org) and [Nx](https://nx.dev). - -Each page in this section corresponds to a package we intentionally expose to users. -They are: - -- [`@typescript-eslint/eslint-plugin`](./architecture/ESLint_Plugin.mdx): An ESLint plugin which provides lint rules for TypeScript codebases. -- [`@typescript-eslint/eslint-plugin-tslint`](./architecture/ESLint_Plugin_TSLint.mdx): ESLint plugin that allows running TSLint rules within ESLint to help you migrate from TSLint to ESLint. -- [`@typescript-eslint/parser`](./architecture/Parser.mdx): An ESLint parser which allows for ESLint to lint TypeScript source code. -- [`@typescript-eslint/scope-manager`](./architecture/Scope_Manager.mdx): A fork of [`eslint-scope`](https://github.com/eslint/eslint-scope), enhanced to support TypeScript functionality. -- [`@typescript-eslint/typescript-estree`](./architecture/TypeScript-ESTree.mdx): The underlying code used by [`@typescript-eslint/parser`](./architecture/Parser.mdx) that converts TypeScript source code into an ESTree-compatible form. -- [`@typescript-eslint/utils`](./architecture/Utils.mdx): Utilities for working with TypeScript + ESLint together. diff --git a/docs/Developers.mdx b/docs/Developers.mdx new file mode 100644 index 00000000000..e1658aa105b --- /dev/null +++ b/docs/Developers.mdx @@ -0,0 +1,10 @@ +--- +id: developers +title: Developers +--- + +These are the developer guides to working with the typescript-eslint tooling. +It's intended for use by third-parties who want to use our tools to build great things. + +> If you're reading this as a new developer: welcome to the community! +> We're happy to have you! ❤️‍🔥 diff --git a/docs/Getting_Started.mdx b/docs/Getting_Started.mdx index 5bb2bd5a53d..40463088e58 100644 --- a/docs/Getting_Started.mdx +++ b/docs/Getting_Started.mdx @@ -58,9 +58,9 @@ ESLint will lint all TypeScript compatible files within the current folder, and ## Details -- `parser: '@typescript-eslint/parser'` tells ESLint to use the [`@typescript-eslint/parser`](./architecture/Parser.mdx) package you installed to parse your source files. +- `parser: '@typescript-eslint/parser'` tells ESLint to use the [`@typescript-eslint/parser`](./packages/Parser.mdx) package you installed to parse your source files. - This is required, or else ESLint will throw errors as it tries to parse TypeScript code as if it were regular JavaScript. -- `plugins: ['@typescript-eslint']` tells ESLint to load the [`@typescript-eslint/eslint-plugin`](./architecture/ESLint_Plugin.mdx) package as a plugin. +- `plugins: ['@typescript-eslint']` tells ESLint to load the [`@typescript-eslint/eslint-plugin`](./packages/ESLint_Plugin.mdx) package as a plugin. - This allows you to use typescript-eslint's rules within your codebase. - `extends: [ ... ]` tells ESLint that your config extends the given configurations. - `eslint:recommended` is ESLint's inbuilt "recommended" config - it turns on a small, sensible set of rules which lint for well-known best-practices. diff --git a/docs/Maintenance.mdx b/docs/Maintenance.mdx index 75f1030c015..bc0db0d1e19 100644 --- a/docs/Maintenance.mdx +++ b/docs/Maintenance.mdx @@ -8,5 +8,7 @@ This is the maintainers guide to working on typescript-eslint. It's intended for use by contributors who have been given access to at least triage issues and pull requests. We keep it in the open for visibility into our processes. -> If you're reading this as a new maintainer: welcome! -> We're happy to have you! ❤️‍🔥 +:::info Welcome! +If you're reading this as a new maintainer: welcome! +We're happy to have you! ❤️‍🔥 +::: diff --git a/docs/Packages.mdx b/docs/Packages.mdx new file mode 100644 index 00000000000..0e34d2815c7 --- /dev/null +++ b/docs/Packages.mdx @@ -0,0 +1,17 @@ +--- +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 with [Lerna](https://lerna.js.org) and [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/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/Users.mdx b/docs/Users.mdx new file mode 100644 index 00000000000..120d225240c --- /dev/null +++ b/docs/Users.mdx @@ -0,0 +1,12 @@ +--- +id: users +title: Users +--- + +These are the user guides to consuming the typescript-eslint tooling. +It's intended for users who want to consume our tools. + +:::info Welcome! +If you're reading this as a new user: welcome to the community! +We're happy to have you! ❤️‍🔥 +::: diff --git a/docs/contributing/Discussions.md b/docs/contributing/Discussions.mdx similarity index 92% rename from docs/contributing/Discussions.md rename to docs/contributing/Discussions.mdx index ac7fe9d875a..80c723157dd 100644 --- a/docs/contributing/Discussions.md +++ b/docs/contributing/Discussions.mdx @@ -23,5 +23,5 @@ 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 [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/Local_Development.mdx b/docs/contributing/Local_Development.mdx index 3f85bd9c90b..0b23be5c4a9 100644 --- a/docs/contributing/Local_Development.mdx +++ b/docs/contributing/Local_Development.mdx @@ -32,7 +32,7 @@ For example, if you make a change within `scope-manager` and want to use it in ` The following checks are all run on pull requests automatically. You can also perform them locally. -> See [Contributing > Pull Requests](../Contributing.mdx#raising-a-pr) for more information on pull requests. +> See [Contributing > Pull Requests](./Pull_Requests.mdx) for more information on pull requests. ### Formatting diff --git a/docs/Custom_Rules.mdx b/docs/developers/Custom_Rules.mdx similarity index 96% rename from docs/Custom_Rules.mdx rename to docs/developers/Custom_Rules.mdx index 56cc7899792..c2b4087dc63 100644 --- a/docs/Custom_Rules.mdx +++ b/docs/developers/Custom_Rules.mdx @@ -1,12 +1,12 @@ --- id: custom-rules -sidebar_label: Custom Rules +sidebar_label: Building Custom Rules title: Custom Rules --- :::important This page describes how to write your own custom ESLint rules using typescript-eslint. -You should be familiar with [ESLint's developer guide](https://eslint.org/docs/developer-guide) and [ASTs](https://typescript-eslint.io/blog/asts-and-typescript-eslint) before writing custom rules. +You should be familiar with [ESLint's developer guide](https://eslint.org/docs/developer-guide) and [ASTs](/blog/asts-and-typescript-eslint) before writing custom rules. ::: As long as you are using `@typescript-eslint/parser` as the `parser` in your ESLint configuration, custom ESLint rules generally work the same way for JavaScript and TypeScript code. @@ -18,7 +18,7 @@ The main three changes to custom rules writing are: ## Utils Package -The [`@typescript-eslint/utils`](./architecture/Utils.mdx) package acts as a replacement package for `eslint` that exports all the same objects and types, but with typescript-eslint support. +The [`@typescript-eslint/utils`](../packages/Utils.mdx) package acts as a replacement package for `eslint` that exports all the same objects and types, but with typescript-eslint support. It also exports common utility functions and constants most custom typescript-eslint rules tend to use. :::caution diff --git a/docs/linting/CONFIGURATIONS.mdx b/docs/linting/Configurations.mdx similarity index 100% rename from docs/linting/CONFIGURATIONS.mdx rename to docs/linting/Configurations.mdx diff --git a/docs/linting/Troubleshooting.mdx b/docs/linting/Troubleshooting.mdx index 56288475298..7f254c2c51f 100644 --- a/docs/linting/Troubleshooting.mdx +++ b/docs/linting/Troubleshooting.mdx @@ -7,7 +7,7 @@ title: Troubleshooting & FAQs This happens because TypeScript adds new features that ESLint doesn't know about. -The first step is to [check our list of "extension" rules here](https://typescript-eslint.io/rules/#extension-rules). +The first step is to [check our list of "extension" rules here](/rules/#extension-rules). An extension rule is a rule which extends the base ESLint rules to support TypeScript syntax. If you find it in there, give it a go to see if it works for you. You can configure it by disabling the base rule, and turning on the extension rule. @@ -23,10 +23,10 @@ Here's an example with the `semi` rule: ``` If you don't find an existing extension rule, or the extension rule doesn't work for your case, then you can go ahead and check our issues. -[The contributing guide outlines the best way to raise an issue](https://github.com/typescript-eslint/typescript-eslint/blob/main/CONTRIBUTING.md#raising-issues). +[The contributing guide outlines the best way to raise an issue](../contributing/Issues.mdx). > We release a new version our tooling every week. -> _Please_ ensure that you [check our the latest list of "extension" rules](https://typescript-eslint.io/rules/#extension-rules) **_before_** filing an issue. +> _Please_ ensure that you [check our the latest list of "extension" rules](/rules/#extension-rules) **_before_** filing an issue. ## I get errors telling me "ESLint was configured to run ... However, that TSConfig does not / none of those TSConfigs include this file" @@ -171,7 +171,7 @@ See [#2041](https://github.com/typescript-eslint/typescript-eslint/issues/2041) ESLint core contains the rule [`no-restricted-syntax`](https://eslint.org/docs/rules/no-restricted-syntax). This generic rule allows you to specify a [selector](https://eslint.org/docs/developer-guide/selectors) for the code you want to ban, along with a custom error message. -You can use an AST visualization tool such as [typescript-eslint playground](https://typescript-eslint.io/play#showAST=es) > _Options_ > _AST Explorer_ on its left sidebar by selecting _ESTree_ to help in figuring out the structure of the AST that you want to ban. +You can use an AST visualization tool such as [typescript-eslint playground](/play#showAST=es) > _Options_ > _AST Explorer_ on its left sidebar by selecting _ESTree_ to help in figuring out the structure of the AST that you want to ban. For example, you can ban enums (or some variation of) using one of the following configs: @@ -290,11 +290,11 @@ See [this issue comment](https://github.com/typescript-eslint/typescript-eslint/ ### I get `no-unsafe-*` complaints for cross-file changes See [Changes to one file are not reflected in linting other files in my IDE](#changes-to-one-file-are-not-reflected-when-linting-other-files-in-my-ide). -Rules such as [`no-unsafe-argument`](https://typescript-eslint.io/rules/no-unsafe-argument), [`no-unsafe-assignment`](https://typescript-eslint.io/rules/no-unsafe-assignment), and [`no-unsafe-call`](https://typescript-eslint.io/rules/no-unsafe-call) are often impacted. +Rules such as [`no-unsafe-argument`](/rules/no-unsafe-argument), [`no-unsafe-assignment`](/rules/no-unsafe-assignment), and [`no-unsafe-call`](/rules/no-unsafe-call) are often impacted. ## My linting feels really slow -If you think you're having issues with performance, see our [Performance Troubleshooting documentation](./troubleshooting/Performance.md). +If you think you're having issues with performance, see our [Performance Troubleshooting documentation](./troubleshooting/Performance.mdx). ## Are TypeScript project references supported? diff --git a/docs/linting/Typed_Linting.mdx b/docs/linting/Typed_Linting.mdx index 7d6c96f86ce..ae21eea641e 100644 --- a/docs/linting/Typed_Linting.mdx +++ b/docs/linting/Typed_Linting.mdx @@ -34,10 +34,10 @@ See [our TSConfig inclusion FAQ](./Troubleshooting.mdx#i-get-errors-telling-me-e 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. +- `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 how to find the TSConfig for each source file (`true` indicates to find the closest `tsconfig.json` for each source file) - 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)). +- `parserOptions.tsconfigRootDir` tells our parser the absolute path of your project's root directory (see [Parser#tsconfigRootDir](../packages/Parser.mdx#tsconfigRootDir)). With that done, run the same lint command you ran before. You may see new rules reporting errors based on type information! diff --git a/docs/linting/troubleshooting/Performance.md b/docs/linting/troubleshooting/Performance.mdx similarity index 100% rename from docs/linting/troubleshooting/Performance.md rename to docs/linting/troubleshooting/Performance.mdx diff --git a/docs/linting/troubleshooting/TSLint.mdx b/docs/linting/troubleshooting/TSLint.mdx index cc55ee62617..29e778aec93 100644 --- a/docs/linting/troubleshooting/TSLint.mdx +++ b/docs/linting/troubleshooting/TSLint.mdx @@ -17,7 +17,7 @@ You can look at [the alternatives list](https://github.com/typescript-eslint/typ There is also the ultimate fallback option of using both linters together for a while during your transition if you absolutely have to by using TSLint _within_ ESLint. -For this option, check out [`@typescript-eslint/eslint-plugin-tslint`](../../architecture/ESLint_Plugin_TSLint.mdx). +For this option, check out [`@typescript-eslint/eslint-plugin-tslint`](../../packages/ESLint_Plugin_TSLint.mdx). ## Why Deprecate TSLint? diff --git a/docs/maintenance/versioning/dependant-version-upgrades.mdx b/docs/maintenance/Dependency_Version_Upgrades.mdx similarity index 92% rename from docs/maintenance/versioning/dependant-version-upgrades.mdx rename to docs/maintenance/Dependency_Version_Upgrades.mdx index bf1a17f2829..d06a1e85467 100644 --- a/docs/maintenance/versioning/dependant-version-upgrades.mdx +++ b/docs/maintenance/Dependency_Version_Upgrades.mdx @@ -1,6 +1,6 @@ --- -id: dependant-version-upgrades -title: Dependant Version Upgrades +id: dependency-version-upgrades +title: Dependency Version Upgrades --- ## ESLint @@ -21,7 +21,7 @@ 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 [Versioning > ESLint](../Versioning.mdx#eslint) +1. Update [Users > Dependency Versions > ESLint](../users/Dependency_Versions.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.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. @@ -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.mdx) -1. Update [Versioning > TypeScript](../Versioning.mdx#typescript) + - Update the supported version range in [Users > Dependency Versions](../users/Dependency_Versions.mdx) +1. Update [Users > Dependency Versions > TypeScript](../users/Dependency_Versions.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.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` diff --git a/docs/maintenance/Issues.mdx b/docs/maintenance/Issues.mdx index fc8a89711de..fbe1a45157f 100644 --- a/docs/maintenance/Issues.mdx +++ b/docs/maintenance/Issues.mdx @@ -78,7 +78,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 https://typescript-eslint.io/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. @@ -127,7 +127,7 @@ For enhancements meant to limit which kinds of nodes the rule targets, mark the #### 🚀 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`](https://typescript-eslint.io/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 diff --git a/docs/maintenance/Releases.mdx b/docs/maintenance/Major_Release_Steps.mdx similarity index 55% rename from docs/maintenance/Releases.mdx rename to docs/maintenance/Major_Release_Steps.mdx index 87fb87529df..42993b4480b 100644 --- a/docs/maintenance/Releases.mdx +++ b/docs/maintenance/Major_Release_Steps.mdx @@ -1,62 +1,9 @@ --- -id: releases -sidebar_label: Releases -title: Releases +id: major-release-steps +title: Major Release Steps --- -## Canary - -We release a canary version for each commit to `main` that passes all required checks. This release is performed automatically by the [`publish_canary_version` step](https://github.com/typescript-eslint/typescript-eslint/blob/5feb2dba9da2bd5e233451b7b0f1c99414b5aef9/.github/workflows/ci.yml#L234-L263). - -This release is goes to the `canary` tag on npm and it is versioned as an incremental canary patch release on top of the current `latest` version. I.e. if the current version is `5.6.1`, then the first canary version will be `5.6.2-alpha.0`, the second `5.6.2-alpha.1`, and so on. - -### Installing Canary Versions - -To try out the latest canary versions of typescript-eslint, install `@typescript-eslint/eslint-plugin@canary` and `@typescript-eslint/parser@canary`. -Note that npm may need a `--force` to override version requirements. - - - -### npm - -```bash -npm i @typescript-eslint/eslint-plugin@canary @typescript-eslint/parser@canary --save-dev --force -``` - -### Yarn - -```bash -yarn add @typescript-eslint/eslint-plugin@canary @typescript-eslint/parser@canary --save-dev -``` - - - -## Latest - -We release a latest version every Monday at 1pm US Eastern time using the latest commit to `main` at that time. This release is performed automatically by a Github action located in a private repository. This release goes to the standard `latest` tag on npm. - -See the [versioning](#versioning) section below for how the version number is calculated. - -If there have been no commits that impact public-facing packages then a patch-level release shall be released. - -Latest releases shall only ever be "minor" or "patch" releases. - -## Major Releases - -We currently do not have a set schedule around when major releases shall be performed; instead they are done as the need arises. - -We keep a backlog of breaking issues as a milestone on GitHub that is named in the form `${major}.0.0`. -When we do do a major release, we release a release candidate version to the `rc-v${major}` tag on npm for each commit to the major branch. - -### Major Release Steps - -Our releases go through three groups of steps: - -1. [Pre-Release Preparation] -1. [Merging Breaking Changes] -1. [Releasing the Version] - -#### 1. Pre-Release Preparation +## 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)]. @@ -71,7 +18,7 @@ Our releases go through three groups of steps: - Its publish command should be `npx lerna publish premajor --loglevel=verbose --canary --exact --force-publish --yes --dist-tag rc-v${major}`. - Merge this into `main` once reviewed and rebase the `v${major}` branch. -#### 2. Merging Breaking Changes +## 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. @@ -87,7 +34,7 @@ _Non_-breaking changes can be merged to `main` or the major branch. They don't need any special treatment. ::: -#### 3. Releasing the Version +## 3. Releasing the Version 1. Discuss with the maintainers to be ready for an [out-of-band](#out-of-band) 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. @@ -95,15 +42,3 @@ They don't need any special treatment. - 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 - -We will do releases "out-of-band" (outside the [latest](#latest) schedule) for rare emergencies. -We assess need on a case-by-case basis though generally an emergency is defined as a critical regression specifically introduced in the latest release. - -These releases are done manually by a maintainer with the required access privileges. - -## Back-Porting Releases - -We **_do not_** back port releases to previously released major/minor versions. -We only ever release forward. diff --git a/docs/maintenance/issues/Rule_Deprecations.mdx b/docs/maintenance/issues/Rule_Deprecations.mdx index 98486f2bb6c..1e89880390b 100644 --- a/docs/maintenance/issues/Rule_Deprecations.mdx +++ b/docs/maintenance/issues/Rule_Deprecations.mdx @@ -31,4 +31,4 @@ Provide it an `## Overview` containing: - `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) + - 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/architecture/ESLint_Plugin.mdx b/docs/packages/ESLint_Plugin.mdx similarity index 100% rename from docs/architecture/ESLint_Plugin.mdx rename to docs/packages/ESLint_Plugin.mdx diff --git a/docs/architecture/ESLint_Plugin_TSLint.mdx b/docs/packages/ESLint_Plugin_TSLint.mdx similarity index 100% rename from docs/architecture/ESLint_Plugin_TSLint.mdx rename to docs/packages/ESLint_Plugin_TSLint.mdx diff --git a/docs/architecture/Parser.mdx b/docs/packages/Parser.mdx similarity index 97% rename from docs/architecture/Parser.mdx rename to docs/packages/Parser.mdx index 39ade74168a..4f09bbbe76b 100644 --- a/docs/architecture/Parser.mdx +++ b/docs/packages/Parser.mdx @@ -21,7 +21,7 @@ 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](https://typescript-eslint.io/play#showAST=es)'s left sidebar under _Options_ > _AST Explorer_ by selecting _ESTree_. +You can select `@typescript-eslint/parser` on the [typescript-eslint playground](/play#showAST=es)'s left sidebar under _Options_ > _AST Explorer_ by selecting _ESTree_. ::: ## Configuration @@ -109,7 +109,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](https://typescript-eslint.io/linting/typed-linting). 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` diff --git a/docs/architecture/Scope_Manager.mdx b/docs/packages/Scope_Manager.mdx similarity index 100% rename from docs/architecture/Scope_Manager.mdx rename to docs/packages/Scope_Manager.mdx diff --git a/docs/architecture/TypeScript-ESTree.mdx b/docs/packages/TypeScript_ESTree.mdx similarity index 100% rename from docs/architecture/TypeScript-ESTree.mdx rename to docs/packages/TypeScript_ESTree.mdx diff --git a/docs/architecture/Utils.mdx b/docs/packages/Utils.mdx similarity index 91% rename from docs/architecture/Utils.mdx rename to docs/packages/Utils.mdx index 7c4fd674d70..94c19a88407 100644 --- a/docs/architecture/Utils.mdx +++ b/docs/packages/Utils.mdx @@ -8,10 +8,10 @@ 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`](https://typescript-eslint.io/architecture/eslint-plugin) 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](https://typescript-eslint.io/custom-rules) 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 diff --git a/docs/users/Dependency_Versions.mdx b/docs/users/Dependency_Versions.mdx new file mode 100644 index 00000000000..a00e56d0bbf --- /dev/null +++ b/docs/users/Dependency_Versions.mdx @@ -0,0 +1,35 @@ +--- +id: dependency-versions +title: Dependency 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.1.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: [Packages > Parser > `warnOnUnsupportedTypeScriptVersion`](../packages/Parser.mdx#warnonunsupportedtypescriptversion). + +## Dependant Version Upgrades + +See [Maintenance > Dependent Version Upgrades](../maintenance/Dependency_Version_Upgrades.mdx) for maintenance steps to update these versions. diff --git a/docs/users/Releases.mdx b/docs/users/Releases.mdx new file mode 100644 index 00000000000..7e8721f9fb5 --- /dev/null +++ b/docs/users/Releases.mdx @@ -0,0 +1,83 @@ +--- +id: releases +sidebar_label: Releases +title: Releases +--- + +## Latest + + + NPM Version + + +We release a latest version every Monday at 1pm US Eastern time using the latest commit to `main` at that time. This release is performed automatically by a Github action located in a private repository. This release goes to the standard `latest` tag on npm. + +See [Versioning](./Versioning.mdx) for how the version number is calculated. + +If there have been no commits that impact public-facing packages then a patch-level release shall be released. + +Latest releases shall only ever be "minor" or "patch" releases. + +### Release Notes + +Every release is documented on the [Github Release page](https://github.com/typescript-eslint/typescript-eslint/releases). + +These release notes will list the PRs included in the release. + +## Canary + + + NPM Version + + +We release a canary version for each commit to `main` that passes all required checks. This release is performed automatically by the [`publish_canary_version` step](https://github.com/typescript-eslint/typescript-eslint/blob/5feb2dba9da2bd5e233451b7b0f1c99414b5aef9/.github/workflows/ci.yml#L234-L263). + +This release is goes to the `canary` tag on npm and it is versioned as an incremental canary patch release on top of the current `latest` version. I.e. if the current version is `5.6.1`, then the first canary version will be `5.6.2-alpha.0`, the second `5.6.2-alpha.1`, and so on. + +### Installing Canary Versions + +To try out the latest canary versions of typescript-eslint, install `@typescript-eslint/eslint-plugin@canary` and `@typescript-eslint/parser@canary`. +Note that npm may need a `--force` to override version requirements. + + + +### npm + +```bash +npm i @typescript-eslint/eslint-plugin@canary @typescript-eslint/parser@canary --save-dev --force +``` + +### Yarn + +```bash +yarn add @typescript-eslint/eslint-plugin@canary @typescript-eslint/parser@canary --dev +``` + + + +## Major Releases + +We currently do not have a set schedule around when major releases shall be performed; instead they are done as the need arises. + +We keep a backlog of breaking issues as a milestone on GitHub that is named in the form `${major}.0.0`. +When we do do a major release, we release a release candidate version to the `rc-v${major}` tag on npm for each commit to the major branch. + +See [Maintenance > Major Release Steps](../maintenance/Major_Release_Steps.mdx) for steps to perform a major release. + +## Out-of-Band + +We will do releases "out-of-band" (outside the [latest](#latest) schedule) for rare emergencies. +We assess need on a case-by-case basis though generally an emergency is defined as a critical regression specifically introduced in the latest release. + +These releases are done manually by a maintainer with the required access privileges. + +## Back-Porting Releases + +We **_do not_** back port releases to previously released major/minor versions. +We only ever release forward. diff --git a/docs/maintenance/Versioning.mdx b/docs/users/Versioning.mdx similarity index 53% rename from docs/maintenance/Versioning.mdx rename to docs/users/Versioning.mdx index 4cd92c6c857..41b27bd97e6 100644 --- a/docs/maintenance/Versioning.mdx +++ b/docs/users/Versioning.mdx @@ -6,66 +6,6 @@ title: Versioning We follow [semantic versioning (semver)](https://semver.org). This page exists to help set guidelines around when what we consider to fall within each of the semver categories. -All of the packages in this project are published with the same version number to make it easier to coordinate both releases and installations. - -We publish a canary release on every successful merge to `main`, so **you never need to wait for a new stable version to make use of any updates**. - -Additionally, we promote to the `latest` tag on NPM once per week, **on Mondays at 1 pm Eastern**. - -The latest version under the `latest` tag is: - - - 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.1.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. diff --git a/netlify.toml b/netlify.toml index ee82d5b8454..6d2badd2a9c 100644 --- a/netlify.toml +++ b/netlify.toml @@ -19,7 +19,7 @@ [[redirects]] from = "/docs/development/architecture/packages" - to = "/architecture" + to = "/packages" [[redirects]] from = "/docs/development/custom-rules" diff --git a/packages/eslint-plugin-tslint/README.md b/packages/eslint-plugin-tslint/README.md index 57c414230ec..a6bc3b8a113 100644 --- a/packages/eslint-plugin-tslint/README.md +++ b/packages/eslint-plugin-tslint/README.md @@ -5,6 +5,6 @@ [![NPM Version](https://img.shields.io/npm/v/@typescript-eslint/eslint-plugin-tslint.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin-tslint) [![NPM Downloads](https://img.shields.io/npm/dm/@typescript-eslint/eslint-plugin-tslint.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin-tslint) -👉 See **https://typescript-eslint.io/architecture/eslint-plugin-tslint** for documentation on this package. +👉 See **https://typescript-eslint.io/packages/eslint-plugin-tslint** for documentation on this package. > See https://typescript-eslint.io for general documentation on typescript-eslint, the tooling that allows you to run ESLint and Prettier on TypeScript code. diff --git a/packages/parser/README.md b/packages/parser/README.md index f057b97f868..4010564c7f3 100644 --- a/packages/parser/README.md +++ b/packages/parser/README.md @@ -5,6 +5,6 @@ [![NPM Version](https://img.shields.io/npm/v/@typescript-eslint/parser.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/parser) [![NPM Downloads](https://img.shields.io/npm/dm/@typescript-eslint/parser.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/parser) -👉 See **https://typescript-eslint.io/architecture/parser** for documentation on this package. +👉 See **https://typescript-eslint.io/packages/parser** for documentation on this package. > See https://typescript-eslint.io for general documentation on typescript-eslint, the tooling that allows you to run ESLint and Prettier on TypeScript code. diff --git a/packages/scope-manager/README.md b/packages/scope-manager/README.md index 0258932e390..3d43221d87a 100644 --- a/packages/scope-manager/README.md +++ b/packages/scope-manager/README.md @@ -3,6 +3,6 @@ [![NPM Version](https://img.shields.io/npm/v/@typescript-eslint/scope-manager.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/scope-manager) [![NPM Downloads](https://img.shields.io/npm/dm/@typescript-eslint/scope-manager.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/scope-manager) -👉 See **https://typescript-eslint.io/architecture/scope-manager** for documentation on this package. +👉 See **https://typescript-eslint.io/packages/scope-manager** for documentation on this package. > See https://typescript-eslint.io for general documentation on typescript-eslint, the tooling that allows you to run ESLint and Prettier on TypeScript code. diff --git a/packages/typescript-estree/README.md b/packages/typescript-estree/README.md index 4ce7f1e7cf4..316a698e372 100644 --- a/packages/typescript-estree/README.md +++ b/packages/typescript-estree/README.md @@ -5,6 +5,6 @@ ## Contributing -👉 See **https://typescript-eslint.io/architecture/typescript-estree** for documentation on this package. +👉 See **https://typescript-eslint.io/packages/typescript-estree** for documentation on this package. > See https://typescript-eslint.io for general documentation on typescript-eslint, the tooling that allows you to run ESLint and Prettier on TypeScript code. diff --git a/packages/utils/README.md b/packages/utils/README.md index 8013675d962..550a24fa961 100644 --- a/packages/utils/README.md +++ b/packages/utils/README.md @@ -5,6 +5,6 @@ [![NPM Version](https://img.shields.io/npm/v/@typescript-eslint/utils.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/utils) [![NPM Downloads](https://img.shields.io/npm/dm/@typescript-eslint/utils.svg?style=flat-square)](https://www.npmjs.com/package/@typescript-eslint/utils) -👉 See **https://typescript-eslint.io/architecture/utils** for documentation on this package. +👉 See **https://typescript-eslint.io/packages/utils** for documentation on this package. > See https://typescript-eslint.io for general documentation on typescript-eslint, the tooling that allows you to run ESLint and Prettier on TypeScript code. diff --git a/packages/website/blog/2022-12-05-asts-and-typescript-eslint.md b/packages/website/blog/2022-12-05-asts-and-typescript-eslint.md index 47cb9374c90..7e0bb8c43de 100644 --- a/packages/website/blog/2022-12-05-asts-and-typescript-eslint.md +++ b/packages/website/blog/2022-12-05-asts-and-typescript-eslint.md @@ -79,7 +79,7 @@ On the other hand, TypeScript's type checking APIs require nodes in the TypeScri ### Enter TSESTree -To resolve the incompatibilities between ESTrees and the TypeScript AST typescript-eslint provides its own [`@typescript-eslint/parser` package](https://typescript-eslint.io/architecture/Parser.mdx) which: +To resolve the incompatibilities between ESTrees and the TypeScript AST typescript-eslint provides its own [`@typescript-eslint/parser` package](https://typescript-eslint.io/packages/Parser.mdx) which: 1. First parses TypeScript syntax into a TypeScript AST 1. Creates an ESTree AST based on that TypeScript AST diff --git a/packages/website/package.json b/packages/website/package.json index d1ca025502b..abcf0b57c14 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -11,7 +11,7 @@ "start": "docusaurus start", "swizzle": "docusaurus swizzle", "test": "playwright test", - "typecheck": "tsc" + "typecheck": "tsc -b ./tsconfig.json" }, "dependencies": { "@babel/runtime": "^7.18.3", diff --git a/packages/website/sidebars/sidebar.base.js b/packages/website/sidebars/sidebar.base.js index 2a097b02a70..7353af533bb 100644 --- a/packages/website/sidebars/sidebar.base.js +++ b/packages/website/sidebars/sidebar.base.js @@ -1,12 +1,14 @@ +// @ts-check +/** @type {import('@docusaurus/plugin-content-docs/lib/sidebars/types.js').SidebarsConfig} */ module.exports = { docs: [ { collapsible: false, items: [ { - label: 'Linting with Type Information', - items: ['linting/typed-linting/monorepos'], collapsible: false, + items: ['linting/typed-linting/monorepos'], + label: 'Linting with Type Information', link: { id: 'linting/typed-linting', type: 'doc', @@ -15,40 +17,64 @@ module.exports = { }, 'linting/configs', { - label: 'Troubleshooting & FAQs', - link: { - id: 'linting/troubleshooting', - type: 'doc', - }, collapsible: false, - type: 'category', items: [ 'linting/troubleshooting/performance-troubleshooting', 'linting/troubleshooting/formatting', 'linting/troubleshooting/tslint', ], + label: 'Troubleshooting & FAQs', + link: { + id: 'linting/troubleshooting', + type: 'doc', + }, + type: 'category', }, ], + label: 'Getting Started', link: { id: 'getting-started', type: 'doc', }, - label: 'Getting Started', type: 'category', }, - 'custom-rules', { + collapsible: false, + items: [ + 'users/dependency-versions', + 'users/releases', + 'users/versioning', + ], + label: 'Users', + link: { + id: 'users', + type: 'doc', + }, + type: 'category', + }, + { + collapsible: false, + items: ['developers/custom-rules'], + label: 'Developers', + link: { + id: 'developers', + type: 'doc', + }, + type: 'category', + }, + { + collapsible: false, items: [ - 'architecture/eslint-plugin', - 'architecture/eslint-plugin-tslint', - 'architecture/parser', - 'architecture/scope-manager', - 'architecture/typescript-estree', - 'architecture/utils', + 'packages/eslint-plugin', + 'packages/eslint-plugin-tslint', + 'packages/parser', + 'packages/scope-manager', + 'packages/typescript-estree', + 'packages/utils', ], - label: 'Architecture', + label: 'Packages', link: { - id: 'architecture', + id: 'packages', type: 'doc', }, type: 'category', @@ -70,6 +96,7 @@ module.exports = { { items: [ 'maintenance/branding', + 'maintenance/dependency-version-upgrades', { collapsible: false, items: ['maintenance/issues/rule-deprecations'], @@ -80,18 +107,8 @@ module.exports = { }, type: 'category', }, + 'maintenance/major-release-steps', 'maintenance/pull-requests', - 'maintenance/releases', - { - collapsible: false, - items: ['maintenance/versioning/dependant-version-upgrades'], - label: 'Versioning', - link: { - id: 'maintenance/versioning', - type: 'doc', - }, - type: 'category', - }, ], label: 'Maintenance', link: { diff --git a/packages/website/tsconfig.json b/packages/website/tsconfig.json index 82eff535cb8..297113e1b17 100644 --- a/packages/website/tsconfig.json +++ b/packages/website/tsconfig.json @@ -16,5 +16,5 @@ }, "types": ["@docusaurus/module-type-aliases", "@docusaurus/theme-classic"] }, - "include": ["src", "tests", "plugins", "typings", "./*.ts"] + "include": ["src", "tests", "plugins", "typings", "sidebars/*.js", "./*.ts"] }