From 32f12b23dc73698140789e0f65032344225134c8 Mon Sep 17 00:00:00 2001 From: "typescript-eslint[bot]" <53356952+typescript-eslint[bot]@users.noreply.github.com> Date: Thu, 8 Dec 2022 09:07:20 -0500 Subject: [PATCH 1/5] chore: update sponsors (#6183) Co-authored-by: typescript-eslint[bot] --- packages/website/data/sponsors.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/website/data/sponsors.json b/packages/website/data/sponsors.json index fef41913d975..83e40bf42b27 100644 --- a/packages/website/data/sponsors.json +++ b/packages/website/data/sponsors.json @@ -173,5 +173,12 @@ "name": "Laserhub", "totalDonations": 10000, "website": "https://laserhub.com/" + }, + { + "id": "DeepSource", + "image": "https://images.opencollective.com/deepsource/0f18cea/logo.png", + "name": "DeepSource", + "totalDonations": 10000, + "website": "https://deepsource.io/" } ] From 47241bb6f676233e37cd813714b79e3a5d9fb3e0 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Thu, 8 Dec 2022 15:08:01 -0500 Subject: [PATCH 2/5] docs: overhaul branding and add new logo (#6147) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * branding * Fixed remaining markdownlint violations * Switch back to typescript-eslint * Standardize backticks before monorepo * Trim down reasoning * Fixed TypeScript logo blue * Sentence * Replace: TypeScript ESLint -> typescript-eslint * chore: update safari pinned tab icon * Fix snapshot * bikeshed: ts-eslint Co-authored-by: β€œJamesHenry” --- .cspell.json | 1 + .github/SECURITY.md | 4 +- .github/SPONSORSHIPS.md | 10 ++--- .markdownlint.json | 6 +-- LICENSE | 12 +++--- README.md | 6 +-- docs/Contributing.mdx | 2 +- docs/architecture/Parser.mdx | 2 +- docs/contributing/Local_Development.mdx | 2 +- docs/linting/CONFIGURATIONS.mdx | 8 ++-- docs/linting/Troubleshooting.md | 2 +- docs/maintenance/BRANDING.md | 37 +++++++++++++++++ packages/ast-spec/LICENSE | 2 +- packages/eslint-plugin-tslint/LICENSE | 2 +- packages/eslint-plugin/LICENSE | 2 +- .../tools/generate-breaking-changes.ts | 2 +- packages/experimental-utils/LICENSE | 2 +- packages/parser/LICENSE | 10 ++--- packages/scope-manager/LICENSE | 2 +- packages/type-utils/LICENSE | 2 +- packages/types/LICENSE | 2 +- packages/typescript-estree/LICENSE | 10 ++--- .../create-program/createProjectProgram.ts | 2 +- .../lib/__snapshots__/parse.test.ts.snap | 14 +++---- packages/utils/LICENSE | 2 +- packages/visitor-keys/LICENSE | 2 +- ...ed-rule-docs-with-docusaurus-and-remark.md | 16 +++---- .../2022-12-05-asts-and-typescript-eslint.md | 8 ++-- packages/website/docusaurusConfig.ts | 14 +++++-- packages/website/sidebars/sidebar.base.js | 1 + .../Sponsors/styles.module.css | 3 +- .../FinancialContributors/index.tsx | 4 +- .../FinancialContributors/styles.module.css | 6 +++ packages/website/src/css/custom.css | 39 ++++++++++-------- packages/website/src/pages/styles.module.css | 8 ++-- packages/website/static/img/favicon.ico | Bin 7406 -> 15086 bytes .../img/favicon/android-chrome-192x192.png | Bin 6533 -> 8007 bytes .../img/favicon/android-chrome-512x512.png | Bin 0 -> 22034 bytes .../static/img/favicon/apple-touch-icon.png | Bin 4836 -> 5935 bytes .../static/img/favicon/favicon-16x16.png | Bin 886 -> 913 bytes .../static/img/favicon/favicon-32x32.png | Bin 1284 -> 1332 bytes .../static/img/favicon/mstile-150x150.png | Bin 5168 -> 5883 bytes .../static/img/favicon/mstile-310x310.png | Bin 2650 -> 12525 bytes .../static/img/favicon/safari-pinned-tab.svg | 28 +++++++++++++ .../static/img/favicon/site.webmanifest | 15 ++++--- .../website/static/img/logo-twitter-card.png | Bin 10252 -> 6779 bytes packages/website/static/img/logo.png | Bin 4595 -> 23462 bytes packages/website/static/img/logo.svg | 25 +++++++++-- packages/website/static/img/logo_maskable.png | Bin 7709 -> 9823 bytes packages/website/static/img/typescript.svg | 2 +- packages/website/static/manifest.json | 6 +-- 51 files changed, 216 insertions(+), 107 deletions(-) create mode 100644 docs/maintenance/BRANDING.md create mode 100644 packages/website/static/img/favicon/android-chrome-512x512.png create mode 100644 packages/website/static/img/favicon/safari-pinned-tab.svg diff --git a/.cspell.json b/.cspell.json index bd8761c00efd..f1806362b478 100644 --- a/.cspell.json +++ b/.cspell.json @@ -52,6 +52,7 @@ "bigint", "bivariant", "blockless", + "blurple", "camelcase", "Cena", "codebases", diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 536720ad67e8..b7d6d324c54e 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -1,6 +1,6 @@ -# Security Policiy +# Security Policy -The TypeScript ESLint team and community take all security vulnerabilities seriously. +The typescript-eslint team and community take all security vulnerabilities seriously. If you have a vulnerability or other security issues to disclose: - Thank you very much, please do! diff --git a/.github/SPONSORSHIPS.md b/.github/SPONSORSHIPS.md index 48d8ae5fc743..d746aff13ba6 100644 --- a/.github/SPONSORSHIPS.md +++ b/.github/SPONSORSHIPS.md @@ -1,14 +1,14 @@ # Sponsorship -TypeScript ESLint is an entirely volunteer-run project. +typescript-eslint is an entirely volunteer-run project. We are not associated with any company or organization; our development is funded solely from community donations. -## Why Sponsor TypeScript ESLint? +## Why Sponsor typescript-eslint? Our tooling is used by the vast majority of TypeScript applications today, including nearly 10,000 dependent projects and 20 million weekly downloads on npm. Our packages enable both ESLint and Prettier to run on TypeScript code. We additionally provide a comprehensive suite of TypeScript-focused ESLint rules that, by enabling access to TypeScript's type checking APIs, can detect classifications of application bugs more advanced than ESLint alone can. -Sponsoring TypeScript ESLint helps keep our development process running reliably, which in turn directly allows us to: +Sponsoring typescript-eslint helps keep our development process running reliably, which in turn directly allows us to: - Support new versions of TypeScript sooner after their release - Continue improving our documentation and first-run experiences @@ -36,9 +36,9 @@ You can always view all financial contributors on [opencollective.com/typescript ### Project Direction -TypeScript ESLint is always appreciative of organizations sponsoring the project. +typescript-eslint is always appreciative of organizations sponsoring the project. However, we do not factor sponsorship amounts into issue prioritization or pull request reviews. -If you have a need to push forward an area of work in TypeScript ESLint more urgently than a general donation can provide, consider donating engineering time as well. +If you have a need to push forward an area of work in typescript-eslint more urgently than a general donation can provide, consider donating engineering time as well. ### Website Placement diff --git a/.markdownlint.json b/.markdownlint.json index 5d8a01896c6d..05206c4297d1 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -99,11 +99,11 @@ // MD044/proper-names - Proper names should have the correct capitalization "MD044": { "names": [ + "ESLint", "JavaScript", - "TypeScript", "TSLint", - "ESLint", - "typescript-eslint" + "typescript-eslint", + "TypeScript" ], "code_blocks": false }, diff --git a/LICENSE b/LICENSE index 82e1ce3c4602..61fed5676879 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -TypeScript ESLint +typescript-eslint Originally extracted from: @@ -8,11 +8,11 @@ Copyright JS Foundation and other contributors, https://js.foundation Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +- Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE diff --git a/README.md b/README.md index c1934b1c4484..5241dbda4a26 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -

TypeScript ESLint

+

typescript-eslint

-

Monorepo for all the tooling which enables ESLint to support TypeScript

+

Monorepo for the tooling that enables ESLint and Prettier to support TypeScript

CI @@ -44,4 +44,4 @@ In addition to submitting code and documentation updates, you can help us sustai ## License -TypeScript ESLint inherits from the original TypeScript ESLint Parser license, as the majority of the work began there. It is licensed under a permissive BSD 2-clause license. +typescript-eslint inherits from the original TypeScript ESLint Parser license, as the majority of the work began there. It is licensed under a permissive BSD 2-clause license. diff --git a/docs/Contributing.mdx b/docs/Contributing.mdx index 35846cdaaae0..852e503c2694 100644 --- a/docs/Contributing.mdx +++ b/docs/Contributing.mdx @@ -3,7 +3,7 @@ id: contributing title: Contributing --- -Thank you for your interest in contributing to TypeScript ESLint! πŸ’œ +Thank you for your interest in contributing to typescript-eslint! πŸ’œ Although typescript-eslint's packages are already downloaded millions of times per month and power high profile projects across our industry, this is a 100% community-driven project. From the second you install one of the packages from this monorepo, you are a part of that community. diff --git a/docs/architecture/Parser.mdx b/docs/architecture/Parser.mdx index 185d67d35808..9f5d51a53bb6 100644 --- a/docs/architecture/Parser.mdx +++ b/docs/architecture/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](https://typescript-eslint.io/play#showAST=es)'s left sidebar under _Options_ > _AST Explorer_ by selecting _ESTree_. ::: ## Configuration diff --git a/docs/contributing/Local_Development.mdx b/docs/contributing/Local_Development.mdx index 294435616b70..3f85bd9c90b8 100644 --- a/docs/contributing/Local_Development.mdx +++ b/docs/contributing/Local_Development.mdx @@ -3,7 +3,7 @@ id: local-development title: Local Development --- -Thank you for your interest in developing on TypeScript ESLint! ❀️‍πŸ”₯ +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. diff --git a/docs/linting/CONFIGURATIONS.mdx b/docs/linting/CONFIGURATIONS.mdx index 03227ce0cced..a620083fa714 100644 --- a/docs/linting/CONFIGURATIONS.mdx +++ b/docs/linting/CONFIGURATIONS.mdx @@ -88,12 +88,12 @@ We recommend a TypeScript project extend from `plugin:@typescript-eslint/strict` ## Other Configurations -TypeScript ESLint includes a scattering of utility configurations used by the recommended configurations. +typescript-eslint includes a scattering of utility configurations used by the recommended configurations. We don't recommend using these directly; instead, extend from an earlier recommended rule. ### `all` -Enables each the rules provided as a part of TypeScript ESLint. +Enables each the rules provided as a part of typescript-eslint. Note that many rules are not applicable in all codebases, or are meant to be configured. See [`configs/all.ts`](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/src/configs/all.ts) for the exact contents of this config. @@ -105,7 +105,7 @@ Many rules conflict with each other and/or are intended to be configured per-pro ### `base` -A minimal ruleset that sets only the required parser and plugin options needed to run TypeScript ESLint. +A minimal ruleset that sets only the required parser and plugin options needed to run typescript-eslint. @@ -136,6 +136,6 @@ If you feel strongly that a specific rule should (or should not) be one of these ## Formatting -None of the preset configs provided by TypeScript ESLint enable formatting rules (rules that only serve to enforce code whitespace and other trivia). +None of the preset configs provided by typescript-eslint enable formatting rules (rules that only serve to enforce code whitespace and other trivia). We strongly recommend you use Prettier or an equivalent for formatting your code, not ESLint formatting rules. See [What About Formatting? > Suggested Usage](./troubleshooting/formatting#suggested-usage). diff --git a/docs/linting/Troubleshooting.md b/docs/linting/Troubleshooting.md index 98d0eddb8257..f1aff9346bb5 100644 --- a/docs/linting/Troubleshooting.md +++ b/docs/linting/Troubleshooting.md @@ -125,7 +125,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](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. For example, you can ban enums (or some variation of) using one of the following configs: diff --git a/docs/maintenance/BRANDING.md b/docs/maintenance/BRANDING.md new file mode 100644 index 000000000000..25c08b216e65 --- /dev/null +++ b/docs/maintenance/BRANDING.md @@ -0,0 +1,37 @@ +--- +id: branding +title: Branding +--- + +This document serves as a guide for how we generally describe or represent typescript-eslint. +It's fine if you don't always adhere to it. + +## Terminology + +### Name + + + +Our project name is **_"typescript-eslint"_**. +We sometimes refer to it as _"ts-eslint"_ for short. + +_"typescript-eslint"_ is preferred over _"TypeScript ESLint"_ or _"TypeScript-ESLint"_ because ESLint and TypeScript are written in abbreviated Pascal Case. +Combining lowercase with a dash helps differentiate us. + + + +### Slogan + +> The tooling that enables ESLint and Prettier to support TypeScript. + +## Visuals + +Our primary brand color is `#2656c7`, the halfway point between ESLint's `#4b32c3` purple and TypeScript's `#007acc` blue. +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 + +- [Logo PNG download](/img/logo.png) +- [Logo SVG download](/img/logo.svg) diff --git a/packages/ast-spec/LICENSE b/packages/ast-spec/LICENSE index 7e7370143b26..a1164108d4d6 100644 --- a/packages/ast-spec/LICENSE +++ b/packages/ast-spec/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 TypeScript ESLint and other contributors +Copyright (c) 2019 typescript-eslint and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/eslint-plugin-tslint/LICENSE b/packages/eslint-plugin-tslint/LICENSE index 7e7370143b26..a1164108d4d6 100644 --- a/packages/eslint-plugin-tslint/LICENSE +++ b/packages/eslint-plugin-tslint/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 TypeScript ESLint and other contributors +Copyright (c) 2019 typescript-eslint and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/eslint-plugin/LICENSE b/packages/eslint-plugin/LICENSE index 7e7370143b26..a1164108d4d6 100644 --- a/packages/eslint-plugin/LICENSE +++ b/packages/eslint-plugin/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 TypeScript ESLint and other contributors +Copyright (c) 2019 typescript-eslint and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/eslint-plugin/tools/generate-breaking-changes.ts b/packages/eslint-plugin/tools/generate-breaking-changes.ts index 9b1ecafff4ca..0b7da7172872 100644 --- a/packages/eslint-plugin/tools/generate-breaking-changes.ts +++ b/packages/eslint-plugin/tools/generate-breaking-changes.ts @@ -32,7 +32,7 @@ async function main(): Promise { Being added, deprecated, or removed

    -
  • πŸ†• = newly added to TypeScript-ESLint
  • +
  • πŸ†• = newly added to typescript-eslint
  • πŸ™… = deprecated in the next major
  • βž–οΈ = to be removed from the plugin in the next version
diff --git a/packages/experimental-utils/LICENSE b/packages/experimental-utils/LICENSE index 7e7370143b26..a1164108d4d6 100644 --- a/packages/experimental-utils/LICENSE +++ b/packages/experimental-utils/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 TypeScript ESLint and other contributors +Copyright (c) 2019 typescript-eslint and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/parser/LICENSE b/packages/parser/LICENSE index a2d896685ac9..dc04d8c91c06 100644 --- a/packages/parser/LICENSE +++ b/packages/parser/LICENSE @@ -4,11 +4,11 @@ Copyright JS Foundation and other contributors, https://js.foundation Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +- Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE diff --git a/packages/scope-manager/LICENSE b/packages/scope-manager/LICENSE index 7e7370143b26..a1164108d4d6 100644 --- a/packages/scope-manager/LICENSE +++ b/packages/scope-manager/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 TypeScript ESLint and other contributors +Copyright (c) 2019 typescript-eslint and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/type-utils/LICENSE b/packages/type-utils/LICENSE index 7641edcfd0af..dabd464af3a2 100644 --- a/packages/type-utils/LICENSE +++ b/packages/type-utils/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2021 TypeScript ESLint and other contributors +Copyright (c) 2021 typescript-eslint and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/types/LICENSE b/packages/types/LICENSE index 7e7370143b26..a1164108d4d6 100644 --- a/packages/types/LICENSE +++ b/packages/types/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 TypeScript ESLint and other contributors +Copyright (c) 2019 typescript-eslint and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/typescript-estree/LICENSE b/packages/typescript-estree/LICENSE index fda3b7546aa5..f6d73403f2f0 100644 --- a/packages/typescript-estree/LICENSE +++ b/packages/typescript-estree/LICENSE @@ -8,11 +8,11 @@ Copyright JS Foundation and other contributors, https://js.foundation Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. +- Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE diff --git a/packages/typescript-estree/src/create-program/createProjectProgram.ts b/packages/typescript-estree/src/create-program/createProjectProgram.ts index 784b44b93d4d..9869a6e4e541 100644 --- a/packages/typescript-estree/src/create-program/createProjectProgram.ts +++ b/packages/typescript-estree/src/create-program/createProjectProgram.ts @@ -105,7 +105,7 @@ function createProjectProgram( `- Change ESLint's list of included files to not include this file`, `- Change ${describedSpecifiers} to include this file`, `- Create a new TSConfig that includes this file and include it in your parserOptions.project`, - `See the TypeScript ESLint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file`, + `See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file`, ); } diff --git a/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap index 108fdad11a14..369094739305 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap @@ -23,7 +23,7 @@ However, that TSConfig does not include this file. Either: - Change ESLint's list of included files to not include this file - Change that TSConfig to include this file - Create a new TSConfig that includes this file and include it in your parserOptions.project -See the TypeScript ESLint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" +See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" `; exports[`parseAndGenerateServices invalid file error messages "parserOptions.extraFileExtensions" is non-empty the extension matches the file isn't included 1`] = ` @@ -32,7 +32,7 @@ However, that TSConfig does not include this file. Either: - Change ESLint's list of included files to not include this file - Change that TSConfig to include this file - Create a new TSConfig that includes this file and include it in your parserOptions.project -See the TypeScript ESLint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" +See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" `; exports[`parseAndGenerateServices invalid file error messages project includes errors for not included files 1`] = ` @@ -41,7 +41,7 @@ However, that TSConfig does not include this file. Either: - Change ESLint's list of included files to not include this file - Change that TSConfig to include this file - Create a new TSConfig that includes this file and include it in your parserOptions.project -See the TypeScript ESLint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" +See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" `; exports[`parseAndGenerateServices invalid file error messages project includes errors for not included files 2`] = ` @@ -50,7 +50,7 @@ However, that TSConfig does not include this file. Either: - Change ESLint's list of included files to not include this file - Change that TSConfig to include this file - Create a new TSConfig that includes this file and include it in your parserOptions.project -See the TypeScript ESLint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" +See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" `; exports[`parseAndGenerateServices invalid file error messages project includes errors for not included files 3`] = ` @@ -59,7 +59,7 @@ However, that TSConfig does not include this file. Either: - Change ESLint's list of included files to not include this file - Change that TSConfig to include this file - Create a new TSConfig that includes this file and include it in your parserOptions.project -See the TypeScript ESLint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" +See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" `; exports[`parseAndGenerateServices invalid file error messages project includes errors for not included files 4`] = ` @@ -68,7 +68,7 @@ However, that TSConfig does not include this file. Either: - Change ESLint's list of included files to not include this file - Change that TSConfig to include this file - Create a new TSConfig that includes this file and include it in your parserOptions.project -See the TypeScript ESLint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" +See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" `; exports[`parseAndGenerateServices invalid project error messages throws when non of multiple projects include the file 1`] = ` @@ -79,7 +79,7 @@ However, none of those TSConfigs include this file. Either: - Change ESLint's list of included files to not include this file - Change one of those TSConfigs to include this file - Create a new TSConfig that includes this file and include it in your parserOptions.project -See the TypeScript ESLint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" +See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting##i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file" `; exports[`parseAndGenerateServices isolated parsing should parse .js file - with JSX content - parserOptions.jsx = false 1`] = ` diff --git a/packages/utils/LICENSE b/packages/utils/LICENSE index 7e7370143b26..a1164108d4d6 100644 --- a/packages/utils/LICENSE +++ b/packages/utils/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 TypeScript ESLint and other contributors +Copyright (c) 2019 typescript-eslint and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/visitor-keys/LICENSE b/packages/visitor-keys/LICENSE index 7e7370143b26..a1164108d4d6 100644 --- a/packages/visitor-keys/LICENSE +++ b/packages/visitor-keys/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019 TypeScript ESLint and other contributors +Copyright (c) 2019 typescript-eslint and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/website/blog/2022-09-18-automated-rule-docs-with-docusaurus-and-remark.md b/packages/website/blog/2022-09-18-automated-rule-docs-with-docusaurus-and-remark.md index 58dd129cddf2..a1c5d205a025 100644 --- a/packages/website/blog/2022-09-18-automated-rule-docs-with-docusaurus-and-remark.md +++ b/packages/website/blog/2022-09-18-automated-rule-docs-with-docusaurus-and-remark.md @@ -2,15 +2,15 @@ authors: - image_url: https://www.joshuakgoldberg.com/img/josh.jpg name: Josh Goldberg - title: TypeScript ESLint Maintainer + title: typescript-eslint Maintainer url: https://github.com/JoshuaKGoldberg -description: How TypeScript ESLint generates much of the docs pages for each of its lint rules. +description: How typescript-eslint generates much of the docs pages for each of its lint rules. slug: automated-rule-docs-with-docusaurus-and-remark tags: [documentation, docusaurus, remark] title: Automated Rule Docs With Docusaurus and Remark --- -The TypeScript ESLint website at https://typescript-eslint.io is the canonical location for documentation on how to use ESLint on TypeScript code. +The typescript-eslint website at https://typescript-eslint.io is the canonical location for documentation on how to use ESLint on TypeScript code. The site includes a documentation page for each of the over 100 ESLint rules exposed by its ESLint plugin. Each of those rule docs pages includes a description of the rule, any options it allows, links to its source code, and other important information about its usage. @@ -87,7 +87,7 @@ The [`@typescript-eslint/no-for-in-array` rule](https://typescript-eslint.io/rul Our Remark plugin: 1. Takes in the AST and metadata of a documentation file -2. Tries to find the corresponding TypeScript ESLint rule for the file's name +2. Tries to find the corresponding typescript-eslint rule for the file's name 3. If one was found, applies a set of modifications to the AST The rest of this section of the blog post will give a high-level overview of what kinds of AST modifications take place. @@ -95,7 +95,7 @@ You can dive into [the source code of our plugin](https://github.com/typescript- ### Matching Docs to Rules -The [`@typescript-eslint/eslint-plugin` package](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin) exports an object with a `rules` property containing all the TypeScript ESLint lint rules. +The [`@typescript-eslint/eslint-plugin` package](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin) exports an object with a `rules` property containing all the typescript-eslint lint rules. Properties have names like `"array-type"` that map to the rule object exported by files like [`array-type.ts`](https://github.com/typescript-eslint/typescript-eslint/blob/39829c01906f326fec94e9b3a5fdb1730eb02002/packages/eslint-plugin/src/rules/array-type.ts#L86). Remark plugins are able to access the name of the file they're modifying by accessing `file.stem`, as in the following code snippet. @@ -144,7 +144,7 @@ root.children.splice( ``` :::info Historical context -Before typescript-eslint.io existed, the canonical documentation URL for TypeScript ESLint's lint rules was the GitHub link to their corresponding `.md` file. +Before typescript-eslint.io existed, the canonical documentation URL for typescript-eslint's lint rules was the GitHub link to their corresponding `.md` file. Now that we have a rich documentation site and have automated much of what used to be in those `.md` files, they're no longer a good place to look for documentation. ::: @@ -221,8 +221,8 @@ We'd like to extend thanks to [Joshua Chen](https://github.com/Josh-Cena), one o Without Joshua, this change would have taken us a great deal longer (if we'd have been able to tackle it at all). Thanks Joshua! πŸ€— -## Supporting TypeScript ESLint +## Supporting typescript-eslint -If you enjoyed this blog post and/or or use TypeScript ESLint, please consider [supporting us on Open Collective](https://opencollective.com/typescript-eslint). +If you enjoyed this blog post and/or or use typescript-eslint, please consider [supporting us on Open Collective](https://opencollective.com/typescript-eslint). We're a small volunteer team and could use your support to make the ESLint experience on TypeScript great. Thanks! πŸ’– 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 17da83da75d0..47cb9374c901 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 @@ -2,12 +2,12 @@ authors: - image_url: https://www.joshuakgoldberg.com/img/josh.jpg name: Josh Goldberg - title: TypeScript ESLint Maintainer + title: typescript-eslint Maintainer url: https://github.com/JoshuaKGoldberg description: Describing what an AST (Abstract Syntax Tree) is and why it's useful for ESLint and TypeScript tooling. slug: asts-and-typescript-eslint tags: [ast, abstract syntax tree, parser, parsing, prettier] -title: ASTs and TypeScript-ESLint +title: ASTs and typescript-eslint --- Programmers who work with tools like [ESLint](https://eslint.org) and [Prettier](https://prettier.io) often refer to ASTs. @@ -92,7 +92,7 @@ We commonly refer to the ESTree format that also includes TypeScript-specific sy ### AST Playground -The [TypeScript ESLint playground](https://typescript-eslint.io/play#showAST=es) contains an AST explorer that generates an interactive AST for any code entered into the playground. +The [typescript-eslint playground](https://typescript-eslint.io/play#showAST=es) contains an AST explorer that generates an interactive AST for any code entered into the playground. You can activate it under _Options_ > _AST Explorer_ on its left sidebar by selecting the value of _AST Viewer_. ## Further Resources @@ -116,7 +116,7 @@ Putting together all the terms introduces in this article: ### TypeScript Lint Rules and ASTs Interested in how these ASTs work with ESLint rules? -We collaborated with our friends at Sourcegraph on a [Tour de Source on TypeScript ESLint](https://sourcegraph.com/notebooks/Tm90ZWJvb2s6MTA2OA==). +We collaborated with our friends at Sourcegraph on a [Tour de Source on typescript-eslint](https://sourcegraph.com/notebooks/Tm90ZWJvb2s6MTA2OA==). Read on to learn how ESLint rules use ASTs to analyze code files and, thanks to `@typescript-eslint/parser`, call TypeScript's type checking APIs to analyze code. [astexplorer.net]: https://astexplorer.net diff --git a/packages/website/docusaurusConfig.ts b/packages/website/docusaurusConfig.ts index 7ad2d275be8a..bfa844fc2f0b 100644 --- a/packages/website/docusaurusConfig.ts +++ b/packages/website/docusaurusConfig.ts @@ -66,7 +66,7 @@ const themeConfig: ThemeCommonConfig & AlgoliaThemeConfig = { ], image: 'img/logo-twitter-card.png', navbar: { - title: 'TypeScript ESLint', + title: 'typescript-eslint', logo: { alt: '', height: '32px', @@ -142,7 +142,7 @@ const themeConfig: ThemeCommonConfig & AlgoliaThemeConfig = { ], }, ], - copyright: `Copyright Β© ${new Date().getFullYear()} TypeScript ESLint, Inc. Built with Docusaurus.`, + copyright: `Copyright Β© ${new Date().getFullYear()} typescript-eslint, Inc. Built with Docusaurus.`, }, prism: { theme: { @@ -232,8 +232,9 @@ const pluginPwaOptions: PluginPwaOptions = { }; const config: Config = { - title: 'TypeScript ESLint', - tagline: 'Tooling which enables ESLint to support TypeScript', + title: 'typescript-eslint', + tagline: + 'The tooling that enables ESLint and Prettier to support TypeScript.', url: 'https://typescript-eslint.io', baseUrl: '/', onBrokenLinks: 'throw', @@ -275,6 +276,11 @@ const config: Config = { rel: 'manifest', href: '/img/favicon/site.webmanifest', }, + { + color: '#2656c7', + href: '/img/favicon/safari-pinned-tab.svg', + rel: 'mask-icon', + }, ], }; diff --git a/packages/website/sidebars/sidebar.base.js b/packages/website/sidebars/sidebar.base.js index a949c9f2390a..fe84b9c1ae39 100644 --- a/packages/website/sidebars/sidebar.base.js +++ b/packages/website/sidebars/sidebar.base.js @@ -67,6 +67,7 @@ module.exports = { }, { items: [ + 'maintenance/branding', { collapsible: false, items: ['maintenance/issues/rule-deprecations'], diff --git a/packages/website/src/components/FinancialContributors/Sponsors/styles.module.css b/packages/website/src/components/FinancialContributors/Sponsors/styles.module.css index 08e99b16488d..b92051eddcba 100644 --- a/packages/website/src/components/FinancialContributors/Sponsors/styles.module.css +++ b/packages/website/src/components/FinancialContributors/Sponsors/styles.module.css @@ -7,7 +7,7 @@ display: flex; flex-wrap: wrap; justify-content: center; - align-items: flex-end; + align-items: stretch; max-width: 800px; padding: 0; } @@ -19,6 +19,7 @@ } .sponsorsTier img { + background: white; display: block; margin: auto; } diff --git a/packages/website/src/components/FinancialContributors/index.tsx b/packages/website/src/components/FinancialContributors/index.tsx index f952a5a42354..e0f83e34293b 100644 --- a/packages/website/src/components/FinancialContributors/index.tsx +++ b/packages/website/src/components/FinancialContributors/index.tsx @@ -10,8 +10,8 @@ export function FinancialContributors(): JSX.Element { return ( <>

- The TypeScript ESLint project would not be possible without the generous - support of our financial contributors. + The typescript-estlint project would not be possible without the + generous support of our financial contributors.

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 literal 7406 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
3@o>Xt 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 literal 6533 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 A9RL6T diff --git a/packages/website/static/img/favicon/android-chrome-512x512.png b/packages/website/static/img/favicon/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..4e42dbefc7d0839af90ce66fa6a00c15e7580d65 GIT binary patch literal 22034 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 K;c{Ja)PDgr(QG>a literal 0 HcmV?d00001 diff --git a/packages/website/static/img/favicon/apple-touch-icon.png b/packages/website/static/img/favicon/apple-touch-icon.png index 0f5470bfdf9a94b064d95486f874956f2bb23fd6..332e607643d7379cef1105ce4d75f87f036b6daa 100644 GIT binary patch delta 5770 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 U1|~q?U)R7}+rl^T1EuwU0Tkp8umAu6 literal 4836 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 diff --git a/packages/website/static/img/favicon/favicon-16x16.png b/packages/website/static/img/favicon/favicon-16x16.png index c0edc07eb36c98697293a187c93e018715362e1f..d2d807d3fb591bbf939205c58dd20cc130b684d6 100644 GIT binary patch delta 723 zcmeyyHj#Zod_BYe0G|+71_lOW-_17Oht2%#{%menB1I-E83pB^ff4>=+ z0n}v|cF-~65Cg-1v%vi!8OP0h_nOxOmHO|i?6?fnV;TT8!o&|GSk-kUB=h+3b8r9u z|9|S@yV=X{{rdIy*YCf3j=bEo``MAxZzj#ZQ`dL(%FU0pJy-8M__FKJ%iQ`4{c~=w z+Vc4Ok3XNk{%)UoWA^gIOOL$r z`|lM-pFd7}|9#$I@cF&E=8EKbK)sAf-tI0YD>uIU3*>MXctjQh>2eTeoMUt34UoZJ z;_2(k{)~rFoI~+V%=aHaq55r}E{-7*mvj5C2QfJcxXzYg>D2QGDhk@seRfkyfXeD6 z|No1n&Cs21!5>@d9~ypNP3XoO^PH521&`WJ=W_OQ>ye+5nO2Eghm4&cBT$DV$co_nw370~qEv?R@^Zb*yzJuS#DY}4{G#;P M?`)(dvoq%d049-2RsaA1 delta 696 zcmbQp{*7%yd_7}ufKQ04i~Rv-`_s<$C!Ot2IoqFbaX8~*f5XN8nv4Av7l%_W_E%l( zFT2=Za&@@k?sV17@rtd*C1bq{W(F6{jV_w%Uog?T;ADHn(dM$L0g!vq(&VC><24)e zOQnVP49UxqtshdC3Di%gYu<7h9ViM~2?Cx4PWY`1r}= zpWW?GER8StxL>QSdZ?pz?)kI&pQlfLHaEJEmUQRezyD94{5*d2)8YlM%#F^wIGlEK zylQKHIXnICj&1J)eXeJu+}*S5!}+scW=wtV>TuQB?y`%+Nqeh{W`^gTY=L2O$;Rx0 ziT-(0gY(XIms}h!#(tK!VqjokO!9Vj(LH<1(H6*IFY)wsWq-;fC90;pB{%$dJy2|~ zr;B5V#O36KgcK*HGdetLa^9S1Xl|U`J)4>HgF(TjVga!SPnj77j`E8=5ET#+5)%{^ zo<3m;6Q{@N6Q@pUYiMb%Ua@Lrb_0va)-9zaU%&A3^!E7roOOsga#puQckPcgp}9Gx zZyefgSzEla>g2R|y=%v=M%Ev9Y)fqS)|hUVj$1OH!_AB3qNuu#dUg~)Lfa#^HRpfrc82Xq|Hssos~0xvN9A|DE?Uzc1#@T z6V(#eh?11Vl2ohYqEsNoU}RuqsB2)PYh)H;WN2ki3)agG5b%s{Qst?ep7f?RNwyXdQIGIPHuX)F6=Qmi`bmdrf`!I7J)+ zy2i{GsC~bs&t5a26wq1z`)ooESO@I~TF}sc?d|)YuipHK$v<`B+K2!D|DU?}E-d?m zL-@f(Yajmk^Y7R1zx69NJuYs(`0~waCA^j=Vg0;`OI5zjqvX@$1*$#tGM4q7H>-p0EtqU(|fDd*)65lw&vU zd^&XU^_80+??3+f{^PF`=ieSZ^QOGx^1pxor!T&H>W6z1y<)`NOAQQ|iml ze*6CC`K#}L|NXo3;7fkPh1kMVaYd&u-}rd$%KNC?lds?Xbd5gj6nQAV==Axk?>~I{ z)jst`>E&X7V4OLZ1o;Isa44}Tzq%{BVXEyfb;hIX!fn`YpDYX!c*EY6r||tX|I&8D zzjAvPn9Im6G+5mBHHY`bUDklB$NpLEU2gjCN4;XV^tnTG4+@0?&0|dRc6aglo-gnj z$l)yTh%5%u??IUH%EW*RKn8n>r>`sfGag294#hVy-+uu0%1Gj)utb-ye1CO?>z{I~VR#>rC-|bYg`^=aT@1)+fh~O`;1MDCUicY8L5(;$Ckcn#{9X=3A5ejyy3nSTC6#NeZva}E?rB; zPo41#SR>pLqZl=GxEQPy4y^LNBo%dk!*0!bhN?H>(i$5&rEeGISNmA=T$twJpvj=U zad-O#I~kcONru#>06v=s#@784cqFtAF_i3KSLc&l!K2;icQ?J@T!Yri_AF-h9eR4} z4~X7c5^$LDx>>{QXs#=4_ZBYdW87!`viSdlRNqx6ojI!-j#oc*wwlNA>gE2743>(z zhkvh|*EcLn`)2)mX_4GT@h$gVCr`u-L# zg2A?SzEpNan??8kCo4Vo%X_oCr)1jhvtKS;KCR#8x6`7w>+CD}2RVlmzU|-sOaCv^ z<{3xw_PQMgMW0D}wXWO3D+9QW?t2%k?tzvWt@w3sUv+i_&Mm cvylQS3a<)@C<#g|S12gTPs_}iyqqN#0Ggg95C8xG delta 1059 zcmV+;1l;?y3WN%fV1MRNOjJcfK&wMOz(YU0LqEMkKe|Og!bCsZL_gO=KiEV+*+f6p zL_oeoKhi`$(?mbiL_g3(K)*yk(M3SiMnTj>K-5M;)jvAZJvY)lIMO~i(?UJeM?%#? zJ<~ch(m6EIJ2uioKGa4*)mm2BWntW9VcTS2+h1GSVqM!!Nq^Q&NY-<2-+Fi8Z)@I3 zMAh2a_W%F?{QUm?{r~>{|M~g;f`8(Qhvf0_{OaoZdwAhFG}7VV_>76=Eho=}f#Y~| z;DdnUlaS_-j^^9i_ok!ji-_cqjpdb+=V4vj)6(^=s_bfJ-LbFj%E|LwSJ^;2(?vkl zH!;yVG}0_4&VRnV@LpQlE-BAGIn(3g`SS7nK|IqlEzo&&;KRZ3YiHd@L)F~e_nVmL z!ol%rW!yYB(l|5GqMzyd`u^VC_sh!jNIyBKpL)A=3){cwi<>dKa zTG~cI(Ks^FM?%q$jOEnR^;A#TG%wI8BhICw>Xnn{H-9qH!ocyYs_f$8_=$$(ZE4-~ z^!#^p;6_5x!NBqD?fcTv^+Z6?SykD@!}0t3{{8*_QB2oiUD|SP-fwK)KRMG~S=xYo z;)a9cfqvpeLDV}n(>pfPIWy8YGtxvryhTCLMnTX-K+r`&&_qAYX?b3x00001VoOIv zFC)|-5q|&x00(qQO+^Rg0vZ)2BeZQ-#{d8UxJg7oR5;6HU|?io#sgRwSlQS)a05;* z25xp9Ufh6>pFx0wmk&4K5*$^4sz68>3WS73z+6#bAru8-;u7K@AR#Fs#m6TtBP%Db zpopYEK}lIfMHvWG)zmelgyl4~v~_f4g%Jv*^ndgX4E6Q(jSP+TO=KlZ&Ge1*%`Gg2 z;R=MT^g;4KV4!bpV+)i90Xum`xEt&p98I0{^_^W@-P~n8^z}Wxy!Cy2{ruqyECT|A zg7x)7LM;Qrbi?%{BBO+&#l(dWz7Unx6_3%^j}_C66H6BFcH2rjIX-i@33WOAdGxQCO^fR;Mg|I5%6N;2d$OigYKPOias{+0}p_KfB zLVcsOqOf9Y3ZyK>_=HpPfSz?JDaC3;OfL;g<7zDS9cFkNpDP_m_L#)gk<_BOw^PCvV)88fB841dM2S+i$_Df)8(18NQ*zaSLMEuJ@@9|9JXmX^)~ z(t-;C>Y#&eB|;3}lRg9&8Zj*}GA%MTR5CF-GdMakH7hVNIxsLgYl$3_Zv+<_F)c7M dEiyJ#GBG+cI65;mD=;xSFfdCtF`$#h1aE2#5nuoS diff --git a/packages/website/static/img/favicon/mstile-150x150.png b/packages/website/static/img/favicon/mstile-150x150.png index 3cc8878a6c51757ac3857f9b927ac458fdc8ced4..230f652994833e0e6891e021859f04a8eaf4557b 100644 GIT binary patch literal 5883 zcmds5Wl$VZkX|G>8yo_QY(hc=Cj{640Rq8-YjAfBySQv{haiE#;=zM!U~vcz@7yl$8eE{yVc<3KM}5Lb$w=4BII$$2t$p%D;q%yy?s@qCZ7M6 zI&H0%9xapzCs=QeUG-fx@(vBLX|MFVTnVZ^et|P|z~lNH)xsfwy zj^(YaG8YO(5fdBUe^^jFydqsC2mEJ*sPY|vi>?4k)kJb;Gl1|S4-toQsTL=Fv;NA-TR|HMxouE zro8Sx`%)ma5;umvjQ-De@U+6R6{}nrJCmC#+vdo01FFN0UK6(Qxjlp$i4n4%UF z4d$vC`QQny9plr_TWlX<#lSrY0*5s?bspp^tDXCO*Ab1jCJs>*#m<$hErPvO4j5Nm z$EJbCx_IxA6~qIT5;Dro=~Y#mO~xJ$ z>bk$pYa6yO|JiuL*h=)3dss1jc_DFJh7%IWZcXD$WK!KQOm9KeXzn0twUCUgR6UDT zjngt}&&^+Zys*30%#+5Tjs9NU)6DS@8S*+}V(1FmL?g35e)+1%n5^2GJx71TB`)K& z!g58r@^YPJ*#7m*8)pML5Dk4r-4|Rb@9p4YJUZ~51Od`R=*RWnNAPg+4o)F*MTnN$ zVrauB){c^x?GYCNrGyerIL_ ziwJuNo(k1GSxkS~Z@&Op+10HW7|^qY6^2#dj&^8lFiZ;(M6I9olzkG$CoJ~KWqUCj zJtqs7_BCKQP14G1?b!QFP23&4X*rXaw&PoP)L}a$yr2i1&6+2z64K7G+7^0S&Y}Z(*kidjm_DBxTFaJBsciW zEIM<1pYb0>$MoX0ZN`SX-0D7dxXoew#mUv1a#^}ChT?{cG}>H;k7yaEw3%b~D<`6V z_#vim@6h{rTvtSWM-wKD=9T^-Q-tIzMyR~VfRF6UWM>QWI0kRoA9`>?SU#cD_KA^W zWn!(4n!HvE8OUh047RJQ3N1tXo;g;Qo)YrpQNw#}L?TVX&fSG26}?#(7qV()zm5ZR z*=hqPA*IA0#=0uLqb|L39W^Vr6c0-L2<_u*zCetbZBF(rRp{L?$oYABmNZeRtM?Nc zbeyBGtetui30dpAy9)v&Jff~*|9;A7eETIe!iGN3HP1g)w0^tP&Bg})w|}m*^d$TN zkQVpiR=R*5mas4~c^=fGVBe|F=CjfStF8SD@dzK$=K-uK!kY#$v;hWVC0Noaj+5;6 z%RfV;>NWKtk_}}9qmyIi1ZPnl;~Rt~5=%BjbTL`Mp{emOHo9x?hMt1lpOrHZZWhPq zsUtdj#@~DQ#E^3jJdumKLQL&~v8_f#%f&M-l(fHD8+64?_sRJhIR^W$3-7QneL7Kz z6Qif;(-od~SZ?e*MS9MEHoxB)I0~ICCH-*mC00kI<+=S_=$p9;t&LMzPKXnoL#Oj{ zH${l3B1j<7c?nen3u`mQy5x0G-+W}tN9Di>4ev8NnsY08ea=J&78>8t1J56el6*@{ zO-(RzsoA2r2@dH}0xGRQ!VJ9ynGk(aNfeJZTzkX`*~{&hSw=HFP?VSFu`u&XnGP%sathjIP>}iL7oBF>?ip%!t#+@aHS$x46U~W0>~{_X#m-z8N^T zO|1{lElxOzb9UT~dm>7dUAHwC|+zYtm)eERa+A`MLgSB~j`7tfmnWoLA89NONN!!3p86j10X1m8*a5h_DtyHP>6s za!tE4j0*OfVi9^k6_7gbczAzcHdNsBwPby&GV#PGE{(FF8<+XitAfv%D|A!A=^ZGe#W zu#iVJz76n_hR`D&etaJrGp7`a@2Yw zPmEW8oW)($9;n}L=T3jABO zTsN&-Z;$j#zQ0N5@tGgd@|~;grC_BG-MJSrTFdIq2(=>D;DCn|5Th>^P3K?bzuarh z8&qi%V#JA-SHA5n0)XDdly~6Nm{thravZwZ|Jhgx8=Sf(Jf@pP~b8MRX@;f`4~8Jc8p%hAw0-5@A2b#ta!n36#ib4AJ%33sAJZQ~GoRjUmtjiW z&Z+3Y9KY6;tGB6?cgN|70)qtKq6Jx4fkOQOuD0LIttG#`vvZ6@z0V7T zd&qQ7UAV1pz`vhcet>0gQ#7b)yZo!aI-i+Lm999cE3Tc<1u)K9ss6Ou1u3@d){ur- zIJ$X@;btR;3VoB(rQ_=dPdCAQtdPdNua6)y?l}?Glb`aa*WzHI1o26X|ac zr+_`3|5Vt(Bw>ANMtZdcv|`{ilucm3N)8?U?1hMu!2=a2Ie5ir@RU@4c0~1U+@}N6BlvWVEg) z+jEYfORjd`m?~WwCC8d-5x9Li8C{9bp}by+Tri z>haAvO!BT+ojE%*QL+Twe%(rVw(lEm5)md&F)xFJa zgyG6b+xbnbP3G}#vG*^hBKQ^q^kC?8p0BlOEGnnU#j|}lKjssZ# zT+D2(EC`YHLu4~XePU_XAw=;MNSVA>Gn!SvOf6UF3X47#6bK0CmZ8);5O0Ve`|g+6 z4BbBUw7Fk-^A=O5jlRaJeVtXEnZ@eMALuEPY&d!yTbW*Tvtk(9@FCA z{qSd93AYx>Y5sowX&=E$W4V(DaVl9ICnKEE;E#uFpaxDkS3@%`gFjg3lbHx|lp z@zZ@@tP?p^@I%|r@dMDUD5`&_7v)5tf0ds;hsKMSJYY#%#QTVCJ^5;Ofz?AdTC_Dg zi%q3Iw;yq|f5YULsMprsiG7G?y+Z_sA)I)=$ic0f0gS(TZ+ADkr~pA0N&0XGujiM^3(5)bT6(5UerW@|MT~Z@;gbz1h%gt(P|SYS7GqQ#1!2w2^l7 z0)2dn17KK~Y!m^~PzLV>kB&$FhX^t7ozO4zUny`CMg20FE~U*E@#N(;S6Z-xJ*NHk zgJA4sO{Vdp20g>Ow3PL!?G{F09pnCY>zXO96ED9UTXm4?WsTd}CE9#%ylQ|{x3(6N z-#pT|n2N{V{WqcR6TAWy&E3(N(-%J!*dt|D-Y`7XYDmO_eu>kdH{bT#;6FQF=H6

11<0rQMErl^^RW6VDkLyRwzDiEwx%~XXD@(q^6a-M0P5&65P#%4S z(tkY%M=7I$^ANH6N=yR6_OAEImt%khhX5TM>xZN$wBKS>SIRq&hqc~3Q>#k`?JN0& zs%XW2m`Gid7W*fsT9m5md)(+sJeT&!J)b${8ZloIr2C?11^0)RHO#cGC+?VI;KymP zajf|^(~hSHhEKH4lQlLV&uTU}{=I2`uPswD3I(d{%`s4TgS8;O$Qd9D`rE_i^MJ(c77WqUpaEl7-Xw&N6b4+_?3o035Z% zEjzZcmGXy1YF;DB+Diu!E741AGC=%uOWY2)c<0>5`~-U~qq<0B{g+P%-tRUEBYXkle(-Y*`Y!B>rM0h8lAkITi!< z+&zE}<>SU7i0cUu?jT{y@z->vU`ZuFMN;k88+@Lke}?gYI5;|6*jjo0 z?+(fYrUih5j<=>RT;0@z&E>tbm92v%8{EsqlFilyZVsr?sMSLQdW(PSH(p6Kfy>V|X^4kG2U6}UlL^px;JDZykQ P1V~;+S-M=xB=A1~(RISW literal 5168 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 diff --git a/packages/website/static/img/favicon/mstile-310x310.png b/packages/website/static/img/favicon/mstile-310x310.png index d27d66fffc5c90923e46f1c4b6391b1950ab745b..9f9f3bb9f43abed4cd49fbd4557cff0ae5cf3c04 100644 GIT binary patch literal 12525 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 UaeluW#XV!Z diff --git a/packages/website/static/img/favicon/safari-pinned-tab.svg b/packages/website/static/img/favicon/safari-pinned-tab.svg new file mode 100644 index 000000000000..0d301134d71e --- /dev/null +++ b/packages/website/static/img/favicon/safari-pinned-tab.svg @@ -0,0 +1,28 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + + + diff --git a/packages/website/static/img/favicon/site.webmanifest b/packages/website/static/img/favicon/site.webmanifest index ba9eb3dcb7b9..938ae458ef30 100644 --- a/packages/website/static/img/favicon/site.webmanifest +++ b/packages/website/static/img/favicon/site.webmanifest @@ -1,14 +1,19 @@ { - "name": "TypeScript ESLint", - "short_name": "TypeScript ESLint", + "background_color": "#443fd4", + "display": "standalone", "icons": [ { "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" } ], - "theme_color": "#443fd4", - "background_color": "#443fd4", - "display": "standalone" + "name": "typescript-eslint", + "short_name": "typescript-eslint", + "theme_color": "#443fd4" } diff --git a/packages/website/static/img/logo-twitter-card.png b/packages/website/static/img/logo-twitter-card.png index b63a382629910cdc065823e8b3f4d1cb1c366f44..7e276da9a3824770e7d6616fd7fe81a61675f0ef 100644 GIT binary patch literal 6779 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 JE|N42_&+%mVGIBO diff --git a/packages/website/static/img/logo.png b/packages/website/static/img/logo.png index f6022cf5129e6e242e6962194e12af0a1f1f1beb..0d7ce9aee1a20153ef038c227f491e1148bda8ec 100644 GIT binary patch literal 23462 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 IroQ+70Ywe2qW}N^ diff --git a/packages/website/static/img/logo.svg b/packages/website/static/img/logo.svg index 557d2dbcac00..bfe61aecb7cd 100644 --- a/packages/website/static/img/logo.svg +++ b/packages/website/static/img/logo.svg @@ -1,5 +1,22 @@ - - - - + + + + + + diff --git a/packages/website/static/img/logo_maskable.png b/packages/website/static/img/logo_maskable.png index 8c32267e15cfb00ff87daea65996945428d81d26..837410e605ccbe6c1c357d1a3f7f85e680928770 100644 GIT binary patch literal 9823 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 - + diff --git a/packages/website/static/manifest.json b/packages/website/static/manifest.json index 1c10758b3a7a..3eccbd4b2369 100644 --- a/packages/website/static/manifest.json +++ b/packages/website/static/manifest.json @@ -1,6 +1,6 @@ { "background_color": "#443FD4", - "description": "Documentation for TypeScript ESLint: the tooling that enables ESLint to support TypeScript.", + "description": "Documentation for typescript-eslint: the tooling that enables ESLint to support TypeScript.", "display": "standalone", "icons": [ { @@ -16,9 +16,9 @@ } ], "id": "/?source=pwa", - "name": "TypeScript ESLint", + "name": "typescript-eslint", "scope": "/", - "short_name": "TypeScript ESLint", + "short_name": "typescript-eslint", "start_url": "/?source=pwa", "theme_color": "#443FD4" } From 0c6bea6f10371f3feb72ad614f0863c94a1b9407 Mon Sep 17 00:00:00 2001 From: James Henry Date: Mon, 12 Dec 2022 18:10:49 +0400 Subject: [PATCH 3/5] chore: group nx renovate PRs together (#6198) --- .github/renovate.json5 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 0c18b35da840..a681df192af1 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -47,6 +47,10 @@ extends: ['monorepo:docusaurus'], groupName: 'docusaurus', }, + { + extends: ['monorepo:nrwl'], + groupName: 'nx', + }, { extends: ['monorepo:babel'], matchPackagePrefixes: ['@types/babel'], From 88cd9cadac725f5d3cda850e5ff49ce62b5695e8 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Mon, 12 Dec 2022 11:52:12 -0500 Subject: [PATCH 4/5] chore: more aggressively clean local dev caches (#6197) --- packages/ast-spec/src/base/BaseNode.ts | 4 ++-- packages/types/package.json | 2 +- tools/postinstall.ts | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/ast-spec/src/base/BaseNode.ts b/packages/ast-spec/src/base/BaseNode.ts index 797b3d351320..6c753efd7319 100644 --- a/packages/ast-spec/src/base/BaseNode.ts +++ b/packages/ast-spec/src/base/BaseNode.ts @@ -3,6 +3,8 @@ import type { AST_NODE_TYPES } from '../ast-node-types'; import type { NodeOrTokenData } from './NodeOrTokenData'; export interface BaseNode extends NodeOrTokenData { + type: AST_NODE_TYPES; + /** * The parent node of the current node * @@ -10,6 +12,4 @@ export interface BaseNode extends NodeOrTokenData { * while traversing. */ // parent?: Node; - - type: AST_NODE_TYPES; } diff --git a/packages/types/package.json b/packages/types/package.json index c0d527a45cd9..db7b9e35cad7 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -33,7 +33,7 @@ "build": "tsc -b tsconfig.build.json", "postbuild": "downlevel-dts dist _ts3.4/dist", "clean": "tsc -b tsconfig.build.json --clean", - "postclean": "rimraf dist && rimraf _ts3.4 && rimraf coverage", + "postclean": "rimraf dist && rimraf src/generated && rimraf _ts3.4 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "generate:lib": "../../node_modules/.bin/ts-node --files --transpile-only ../scope-manager/tools/generate-lib.ts", "lint": "nx lint", diff --git a/tools/postinstall.ts b/tools/postinstall.ts index b222b290e681..badd3f0137a1 100644 --- a/tools/postinstall.ts +++ b/tools/postinstall.ts @@ -21,7 +21,10 @@ void (async function (): Promise { // Install git hooks await $`yarn husky install`; - // // Build all the packages ready for use + // Clean any caches that may be invalid now + await $`yarn clean`; + + // Build all the packages ready for use await $`yarn build`; })(); From c943b845c939944d309cea7a312db4ca645308f3 Mon Sep 17 00:00:00 2001 From: "typescript-eslint[bot]" Date: Mon, 12 Dec 2022 17:16:59 +0000 Subject: [PATCH 5/5] chore: publish v5.46.1 --- CHANGELOG.md | 4 ++++ lerna.json | 2 +- packages/ast-spec/CHANGELOG.md | 4 ++++ packages/ast-spec/package.json | 2 +- packages/eslint-plugin-internal/CHANGELOG.md | 4 ++++ packages/eslint-plugin-internal/package.json | 8 ++++---- packages/eslint-plugin-tslint/CHANGELOG.md | 4 ++++ packages/eslint-plugin-tslint/package.json | 6 +++--- packages/eslint-plugin/CHANGELOG.md | 4 ++++ packages/eslint-plugin/package.json | 8 ++++---- packages/experimental-utils/CHANGELOG.md | 4 ++++ packages/experimental-utils/package.json | 4 ++-- packages/parser/CHANGELOG.md | 4 ++++ packages/parser/package.json | 8 ++++---- packages/scope-manager/CHANGELOG.md | 4 ++++ packages/scope-manager/package.json | 8 ++++---- packages/shared-fixtures/CHANGELOG.md | 4 ++++ packages/shared-fixtures/package.json | 2 +- packages/type-utils/CHANGELOG.md | 4 ++++ packages/type-utils/package.json | 8 ++++---- packages/types/CHANGELOG.md | 4 ++++ packages/types/package.json | 2 +- packages/typescript-estree/CHANGELOG.md | 4 ++++ packages/typescript-estree/package.json | 8 ++++---- packages/utils/CHANGELOG.md | 4 ++++ packages/utils/package.json | 10 +++++----- packages/visitor-keys/CHANGELOG.md | 4 ++++ packages/visitor-keys/package.json | 4 ++-- packages/website-eslint/CHANGELOG.md | 4 ++++ packages/website-eslint/package.json | 16 ++++++++-------- packages/website/CHANGELOG.md | 4 ++++ packages/website/package.json | 8 ++++---- 32 files changed, 116 insertions(+), 52 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92eb4de6edd8..7fbfc4bba22a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/typescript-eslint + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) ### Bug Fixes diff --git a/lerna.json b/lerna.json index 51eefc819083..05ae3263abca 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "5.46.0", + "version": "5.46.1", "npmClient": "yarn", "useWorkspaces": true, "stream": true diff --git a/packages/ast-spec/CHANGELOG.md b/packages/ast-spec/CHANGELOG.md index 6228c3d8a5dd..8b8f051a142a 100644 --- a/packages/ast-spec/CHANGELOG.md +++ b/packages/ast-spec/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/ast-spec + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/ast-spec diff --git a/packages/ast-spec/package.json b/packages/ast-spec/package.json index f032f072588e..dd8390cfc5dd 100644 --- a/packages/ast-spec/package.json +++ b/packages/ast-spec/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/ast-spec", - "version": "5.46.0", + "version": "5.46.1", "description": "Complete specification for the TypeScript-ESTree AST", "private": true, "keywords": [ diff --git a/packages/eslint-plugin-internal/CHANGELOG.md b/packages/eslint-plugin-internal/CHANGELOG.md index 0013d5c244be..84d3ba163725 100644 --- a/packages/eslint-plugin-internal/CHANGELOG.md +++ b/packages/eslint-plugin-internal/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-internal + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/eslint-plugin-internal diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index c1722e736b3d..1d3a61a74ea4 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin-internal", - "version": "5.46.0", + "version": "5.46.1", "private": true, "main": "dist/index.js", "scripts": { @@ -14,9 +14,9 @@ }, "dependencies": { "@types/prettier": "*", - "@typescript-eslint/scope-manager": "5.46.0", - "@typescript-eslint/type-utils": "5.46.0", - "@typescript-eslint/utils": "5.46.0", + "@typescript-eslint/scope-manager": "5.46.1", + "@typescript-eslint/type-utils": "5.46.1", + "@typescript-eslint/utils": "5.46.1", "prettier": "*" } } diff --git a/packages/eslint-plugin-tslint/CHANGELOG.md b/packages/eslint-plugin-tslint/CHANGELOG.md index 5ab0940e4a0e..037d1977639c 100644 --- a/packages/eslint-plugin-tslint/CHANGELOG.md +++ b/packages/eslint-plugin-tslint/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint diff --git a/packages/eslint-plugin-tslint/package.json b/packages/eslint-plugin-tslint/package.json index 42ccb777fea3..ade2a2808923 100644 --- a/packages/eslint-plugin-tslint/package.json +++ b/packages/eslint-plugin-tslint/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin-tslint", - "version": "5.46.0", + "version": "5.46.1", "main": "dist/index.js", "typings": "src/index.ts", "description": "ESLint plugin that wraps a TSLint configuration and lints the whole source using TSLint", @@ -38,7 +38,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/utils": "5.46.0", + "@typescript-eslint/utils": "5.46.1", "lodash": "^4.17.21" }, "peerDependencies": { @@ -48,6 +48,6 @@ }, "devDependencies": { "@types/lodash": "*", - "@typescript-eslint/parser": "5.46.0" + "@typescript-eslint/parser": "5.46.1" } } diff --git a/packages/eslint-plugin/CHANGELOG.md b/packages/eslint-plugin/CHANGELOG.md index 52ddd83a1f71..74ddd9d67c61 100644 --- a/packages/eslint-plugin/CHANGELOG.md +++ b/packages/eslint-plugin/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) ### Bug Fixes diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index e72a8177cd8c..31cf59e366d0 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin", - "version": "5.46.0", + "version": "5.46.1", "description": "TypeScript plugin for ESLint", "keywords": [ "eslint", @@ -44,9 +44,9 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/scope-manager": "5.46.0", - "@typescript-eslint/type-utils": "5.46.0", - "@typescript-eslint/utils": "5.46.0", + "@typescript-eslint/scope-manager": "5.46.1", + "@typescript-eslint/type-utils": "5.46.1", + "@typescript-eslint/utils": "5.46.1", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", diff --git a/packages/experimental-utils/CHANGELOG.md b/packages/experimental-utils/CHANGELOG.md index b23592d3c31d..d958d1436812 100644 --- a/packages/experimental-utils/CHANGELOG.md +++ b/packages/experimental-utils/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/experimental-utils diff --git a/packages/experimental-utils/package.json b/packages/experimental-utils/package.json index 79f51decab69..4030b20dcb4b 100644 --- a/packages/experimental-utils/package.json +++ b/packages/experimental-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/experimental-utils", - "version": "5.46.0", + "version": "5.46.1", "description": "(Experimental) Utilities for working with TypeScript + ESLint together", "keywords": [ "eslint", @@ -38,7 +38,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/utils": "5.46.0" + "@typescript-eslint/utils": "5.46.1" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" diff --git a/packages/parser/CHANGELOG.md b/packages/parser/CHANGELOG.md index de589752bf1e..ab637d405ae4 100644 --- a/packages/parser/CHANGELOG.md +++ b/packages/parser/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/parser + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/parser diff --git a/packages/parser/package.json b/packages/parser/package.json index 0a5458c4b894..e2361a139ed5 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/parser", - "version": "5.46.0", + "version": "5.46.1", "description": "An ESLint custom parser which leverages TypeScript ESTree", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -45,9 +45,9 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "5.46.0", - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/typescript-estree": "5.46.0", + "@typescript-eslint/scope-manager": "5.46.1", + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/typescript-estree": "5.46.1", "debug": "^4.3.4" }, "devDependencies": { diff --git a/packages/scope-manager/CHANGELOG.md b/packages/scope-manager/CHANGELOG.md index 6701340e904e..7af026248532 100644 --- a/packages/scope-manager/CHANGELOG.md +++ b/packages/scope-manager/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/scope-manager + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/scope-manager diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index dfd3cf37e09f..933add59f670 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/scope-manager", - "version": "5.46.0", + "version": "5.46.1", "description": "TypeScript scope analyser for ESLint", "keywords": [ "eslint", @@ -38,12 +38,12 @@ "typecheck": "nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/visitor-keys": "5.46.0" + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/visitor-keys": "5.46.1" }, "devDependencies": { "@types/glob": "*", - "@typescript-eslint/typescript-estree": "5.46.0", + "@typescript-eslint/typescript-estree": "5.46.1", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/shared-fixtures/CHANGELOG.md b/packages/shared-fixtures/CHANGELOG.md index a728263dd9d6..8954c99d3f82 100644 --- a/packages/shared-fixtures/CHANGELOG.md +++ b/packages/shared-fixtures/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/shared-fixtures + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/shared-fixtures diff --git a/packages/shared-fixtures/package.json b/packages/shared-fixtures/package.json index 61b97091dc6e..fe37cc399219 100644 --- a/packages/shared-fixtures/package.json +++ b/packages/shared-fixtures/package.json @@ -1,6 +1,6 @@ { "description": "Code fixtures used to test the typescript-estree parser.", "name": "@typescript-eslint/shared-fixtures", - "version": "5.46.0", + "version": "5.46.1", "private": true } diff --git a/packages/type-utils/CHANGELOG.md b/packages/type-utils/CHANGELOG.md index 938a10931787..8ef63cde40ce 100644 --- a/packages/type-utils/CHANGELOG.md +++ b/packages/type-utils/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/type-utils + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/type-utils diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index 0a112a99e352..6b4acb042baf 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/type-utils", - "version": "5.46.0", + "version": "5.46.1", "description": "Type utilities for working with TypeScript + ESLint together", "keywords": [ "eslint", @@ -39,13 +39,13 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/typescript-estree": "5.46.0", - "@typescript-eslint/utils": "5.46.0", + "@typescript-eslint/typescript-estree": "5.46.1", + "@typescript-eslint/utils": "5.46.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, "devDependencies": { - "@typescript-eslint/parser": "5.46.0", + "@typescript-eslint/parser": "5.46.1", "typescript": "*" }, "peerDependencies": { diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index e05ec18ae740..3350b0f54706 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/types + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/types diff --git a/packages/types/package.json b/packages/types/package.json index db7b9e35cad7..68258118ae17 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/types", - "version": "5.46.0", + "version": "5.46.1", "description": "Types for the TypeScript-ESTree AST spec", "keywords": [ "eslint", diff --git a/packages/typescript-estree/CHANGELOG.md b/packages/typescript-estree/CHANGELOG.md index c4d221646716..7c12eb686ebb 100644 --- a/packages/typescript-estree/CHANGELOG.md +++ b/packages/typescript-estree/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/typescript-estree + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/typescript-estree diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index 10bce9f50f52..f03bb3eeecf2 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/typescript-estree", - "version": "5.46.0", + "version": "5.46.1", "description": "A parser that converts TypeScript source code into an ESTree compatible form", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -42,8 +42,8 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/visitor-keys": "5.46.0", + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/visitor-keys": "5.46.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -59,7 +59,7 @@ "@types/is-glob": "*", "@types/semver": "*", "@types/tmp": "*", - "@typescript-eslint/shared-fixtures": "5.46.0", + "@typescript-eslint/shared-fixtures": "5.46.1", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index ae8facf9cba7..408534815441 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/utils + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/utils diff --git a/packages/utils/package.json b/packages/utils/package.json index 82248615fa2b..f0c35d911e13 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/utils", - "version": "5.46.0", + "version": "5.46.1", "description": "Utilities for working with TypeScript + ESLint together", "keywords": [ "eslint", @@ -41,9 +41,9 @@ "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.46.0", - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/typescript-estree": "5.46.0", + "@typescript-eslint/scope-manager": "5.46.1", + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/typescript-estree": "5.46.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -52,7 +52,7 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "devDependencies": { - "@typescript-eslint/parser": "5.46.0", + "@typescript-eslint/parser": "5.46.1", "typescript": "*" }, "funding": { diff --git a/packages/visitor-keys/CHANGELOG.md b/packages/visitor-keys/CHANGELOG.md index be564a6aaf1d..d3c1d03fde29 100644 --- a/packages/visitor-keys/CHANGELOG.md +++ b/packages/visitor-keys/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/visitor-keys diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index 8f901922dfb8..57f71eee1557 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/visitor-keys", - "version": "5.46.0", + "version": "5.46.1", "description": "Visitor keys used to help traverse the TypeScript-ESTree AST", "keywords": [ "eslint", @@ -39,7 +39,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/types": "5.46.0", + "@typescript-eslint/types": "5.46.1", "eslint-visitor-keys": "^3.3.0" }, "devDependencies": { diff --git a/packages/website-eslint/CHANGELOG.md b/packages/website-eslint/CHANGELOG.md index 6ab72c691531..1006fd2ea831 100644 --- a/packages/website-eslint/CHANGELOG.md +++ b/packages/website-eslint/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package @typescript-eslint/website-eslint + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package @typescript-eslint/website-eslint diff --git a/packages/website-eslint/package.json b/packages/website-eslint/package.json index 85dd2680a890..b95f12310273 100644 --- a/packages/website-eslint/package.json +++ b/packages/website-eslint/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/website-eslint", - "version": "5.46.0", + "version": "5.46.1", "private": true, "description": "ESLint which works in browsers.", "engines": { @@ -16,19 +16,19 @@ "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore" }, "dependencies": { - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/utils": "5.46.0" + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/utils": "5.46.1" }, "devDependencies": { "@rollup/plugin-commonjs": "^23.0.0", "@rollup/plugin-json": "^5.0.0", "@rollup/plugin-node-resolve": "^15.0.0", "@rollup/pluginutils": "^5.0.0", - "@typescript-eslint/eslint-plugin": "5.46.0", - "@typescript-eslint/parser": "5.46.0", - "@typescript-eslint/scope-manager": "5.46.0", - "@typescript-eslint/typescript-estree": "5.46.0", - "@typescript-eslint/visitor-keys": "5.46.0", + "@typescript-eslint/eslint-plugin": "5.46.1", + "@typescript-eslint/parser": "5.46.1", + "@typescript-eslint/scope-manager": "5.46.1", + "@typescript-eslint/typescript-estree": "5.46.1", + "@typescript-eslint/visitor-keys": "5.46.1", "eslint": "*", "rollup": "^2.75.4", "rollup-plugin-terser": "^7.0.2", diff --git a/packages/website/CHANGELOG.md b/packages/website/CHANGELOG.md index a37e18804aad..b0a49ca4a19f 100644 --- a/packages/website/CHANGELOG.md +++ b/packages/website/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.46.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.46.0...v5.46.1) (2022-12-12) + +**Note:** Version bump only for package website + # [5.46.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.45.1...v5.46.0) (2022-12-08) **Note:** Version bump only for package website diff --git a/packages/website/package.json b/packages/website/package.json index 0bc291bbd234..f2e254b7fd07 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,6 +1,6 @@ { "name": "website", - "version": "5.46.0", + "version": "5.46.1", "private": true, "scripts": { "build": "docusaurus build", @@ -21,8 +21,8 @@ "@docusaurus/remark-plugin-npm2yarn": "~2.2.0", "@docusaurus/theme-common": "~2.2.0", "@mdx-js/react": "1.6.22", - "@typescript-eslint/parser": "5.46.0", - "@typescript-eslint/website-eslint": "5.46.0", + "@typescript-eslint/parser": "5.46.1", + "@typescript-eslint/website-eslint": "5.46.1", "clsx": "^1.1.1", "eslint": "*", "json-schema": "^0.4.0", @@ -48,7 +48,7 @@ "@types/react": "^18.0.9", "@types/react-helmet": "^6.1.5", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "5.46.0", + "@typescript-eslint/eslint-plugin": "5.46.1", "copy-webpack-plugin": "^11.0.0", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-react": "^7.29.4",