Skip to content

feat: support TypeScript 5.6 #9972

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Oct 17, 2024

Conversation

JoshuaKGoldberg
Copy link
Member

@JoshuaKGoldberg JoshuaKGoldberg commented Sep 12, 2024

PR Checklist

Overview

Co-authored-by: @jakebailey

@typescript-eslint
Copy link
Contributor

Thanks for the PR, @JoshuaKGoldberg!

typescript-eslint is a 100% community driven project, and we are incredibly grateful that you are contributing to that community.

The core maintainers work on this in their personal time, so please understand that it may not be possible for them to review your work immediately.

Thanks again!


🙏 Please, if you or your company is finding typescript-eslint valuable, help us sustain the project by sponsoring it transparently on https://opencollective.com/typescript-eslint.

Copy link

netlify bot commented Sep 12, 2024

Deploy Preview for typescript-eslint ready!

Name Link
🔨 Latest commit 5b93a47
🔍 Latest deploy log https://app.netlify.com/sites/typescript-eslint/deploys/671135f1a1bb5d0008c25d22
😎 Deploy Preview https://deploy-preview-9972--typescript-eslint.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 98 (🟢 up 7 from production)
Accessibility: 100 (no change from production)
Best Practices: 92 (no change from production)
SEO: 90 (no change from production)
PWA: 80 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Member

@bradzacher bradzacher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you also add some tests for the import/export changes please?

@JoshuaKGoldberg
Copy link
Member Author

I started on tests in ced3289, but am roughly waiting on api-extractor to be patched.

Copy link

codecov bot commented Oct 14, 2024

Codecov Report

Attention: Patch coverage is 50.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 86.15%. Comparing base (ef5df2f) to head (5b93a47).
Report is 16 commits behind head on main.

Files with missing lines Patch % Lines
...eslint-plugin/src/rules/consistent-type-exports.ts 50.00% 0 Missing and 3 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9972      +/-   ##
==========================================
+ Coverage   86.09%   86.15%   +0.05%     
==========================================
  Files         428      429       +1     
  Lines       14969    15005      +36     
  Branches     4343     4353      +10     
==========================================
+ Hits        12888    12927      +39     
+ Misses       1734     1729       -5     
- Partials      347      349       +2     
Flag Coverage Δ
unittest 86.15% <50.00%> (+0.05%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...eslint-plugin/src/rules/consistent-type-exports.ts 88.99% <50.00%> (-2.60%) ⬇️

... and 29 files with indirect coverage changes

@JoshuaKGoldberg JoshuaKGoldberg marked this pull request as ready for review October 15, 2024 00:48
@JoshuaKGoldberg JoshuaKGoldberg marked this pull request as draft October 15, 2024 00:51
@JoshuaKGoldberg
Copy link
Member Author

JoshuaKGoldberg commented Oct 15, 2024

Just #9972 (comment) is left here, hoping to tackle tomorrow talking there

bradzacher
bradzacher previously approved these changes Oct 17, 2024
@bradzacher bradzacher added the 1 approval >=1 team member has approved this PR; we're now leaving it open for more reviews before we merge label Oct 17, 2024
@bradzacher
Copy link
Member

@JoshuaKGoldberg if you're happy with the changes in c49e85f (#9972) then feel free to land this!

.prettierignore Outdated
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I as thinking of cleaning up the old globs here. Nice.

Copy link
Member Author

@JoshuaKGoldberg JoshuaKGoldberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! (approving)

@JoshuaKGoldberg JoshuaKGoldberg merged commit f9c49e3 into typescript-eslint:main Oct 17, 2024
62 of 64 checks passed
@JoshuaKGoldberg JoshuaKGoldberg deleted the ts-5.6 branch October 17, 2024 16:44
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Oct 17, 2024
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Oct 18, 2024
| datasource | package                          | from  | to     |
| ---------- | -------------------------------- | ----- | ------ |
| npm        | @typescript-eslint/eslint-plugin | 8.8.1 | 8.10.0 |
| npm        | @typescript-eslint/parser        | 8.8.1 | 8.10.0 |


## [v8.10.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8100-2024-10-17)

##### 🚀 Features

-   support TypeScript 5.6 ([#9972](typescript-eslint/typescript-eslint#9972))

##### ❤️  Thank You

-   Josh Goldberg ✨

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.


## [v8.9.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#890-2024-10-14)

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unnecessary-type-parameters] cannot assume variables are either type or value

-   **scope-manager:** \[no-use-before-define] do not treat nested namespace aliases as variable references

-   **eslint-plugin:** \[return-await] sync the behavior with await-thenable

-   **eslint-plugin:** \[prefer-literal-enum-member] report a different error message when `allowBitwiseExpressions` is enabled

-   **eslint-plugin:** \[no-loop-func] sync from upstream base rule

-   **eslint-plugin:** \[no-unused-vars] never report the naming of an enum member

-   **eslint-plugin:** correct use-at-your-own-risk type definitions

-   **eslint-plugin:** handle unions in await...for

##### ❤️  Thank You

-   Abraham Guo
-   Anna Bocharova
-   Arya Emami
-   auvred
-   Joshua Chen
-   Kirk Waiblinger
-   Lotfi Meklati
-   mdm317
-   Ronen Amiel
-   Sukka
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Oct 18, 2024
| datasource | package                          | from  | to     |
| ---------- | -------------------------------- | ----- | ------ |
| npm        | @typescript-eslint/eslint-plugin | 8.8.1 | 8.10.0 |
| npm        | @typescript-eslint/parser        | 8.8.1 | 8.10.0 |


## [v8.10.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8100-2024-10-17)

##### 🚀 Features

-   support TypeScript 5.6 ([#9972](typescript-eslint/typescript-eslint#9972))

##### ❤️  Thank You

-   Josh Goldberg ✨

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.


## [v8.9.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#890-2024-10-14)

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unnecessary-type-parameters] cannot assume variables are either type or value

-   **scope-manager:** \[no-use-before-define] do not treat nested namespace aliases as variable references

-   **eslint-plugin:** \[return-await] sync the behavior with await-thenable

-   **eslint-plugin:** \[prefer-literal-enum-member] report a different error message when `allowBitwiseExpressions` is enabled

-   **eslint-plugin:** \[no-loop-func] sync from upstream base rule

-   **eslint-plugin:** \[no-unused-vars] never report the naming of an enum member

-   **eslint-plugin:** correct use-at-your-own-risk type definitions

-   **eslint-plugin:** handle unions in await...for

##### ❤️  Thank You

-   Abraham Guo
-   Anna Bocharova
-   Arya Emami
-   auvred
-   Joshua Chen
-   Kirk Waiblinger
-   Lotfi Meklati
-   mdm317
-   Ronen Amiel
-   Sukka
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.
Comment on lines 3 to +5
// Both of these are equivalent:
const x = <Foo a:b="hello" />;
const y = <Foo a : b="hello" />;
const y = <Foo a:b="hello" />;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the Prettier formatting here was not helpful, as now the two lines are of course equivalent (because they are the same) 😅

Vylpes pushed a commit to Vylpes/random-bunny that referenced this pull request Oct 21, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | devDependencies | minor | [`8.2.0` -> `8.10.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.2.0/8.10.0) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v8.10.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8100-2024-10-17)

[Compare Source](typescript-eslint/typescript-eslint@v8.9.0...v8.10.0)

##### 🚀 Features

-   support TypeScript 5.6 ([#&#8203;9972](typescript-eslint/typescript-eslint#9972))

##### ❤️  Thank You

-   Josh Goldberg ✨

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v8.9.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#890-2024-10-14)

[Compare Source](typescript-eslint/typescript-eslint@v8.8.1...v8.9.0)

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unnecessary-type-parameters] cannot assume variables are either type or value

-   **scope-manager:** \[no-use-before-define] do not treat nested namespace aliases as variable references

-   **eslint-plugin:** \[return-await] sync the behavior with await-thenable

-   **eslint-plugin:** \[prefer-literal-enum-member] report a different error message when `allowBitwiseExpressions` is enabled

-   **eslint-plugin:** \[no-loop-func] sync from upstream base rule

-   **eslint-plugin:** \[no-unused-vars] never report the naming of an enum member

-   **eslint-plugin:** correct use-at-your-own-risk type definitions

-   **eslint-plugin:** handle unions in await...for

##### ❤️  Thank You

-   Abraham Guo
-   Anna Bocharova
-   Arya Emami
-   auvred
-   Joshua Chen
-   Kirk Waiblinger
-   Lotfi Meklati
-   mdm317
-   Ronen Amiel
-   Sukka
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v8.8.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#881-2024-10-07)

[Compare Source](typescript-eslint/typescript-eslint@v8.8.0...v8.8.1)

##### 🩹 Fixes

-   **eslint-plugin:** stop warning on [@&#8203;ts-nocheck](https://github.com/ts-nocheck) comments which aren't at the beginning of the file

##### ❤️  Thank You

-   Brad Zacher
-   Ronen Amiel
-   WhitePiano

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v8.8.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#880-2024-09-30)

[Compare Source](typescript-eslint/typescript-eslint@v8.7.0...v8.8.0)

##### 🚀 Features

-   **eslint-plugin:** \[no-unnecessary-condition] add checkTypePredicates

-   **eslint-plugin:** \[return-await] check for-await loop iteree

##### 🩹 Fixes

-   remove `export type *` in d.ts to support TS<5.0

-   **eslint-plugin:** \[no-unnecessary-template-expression] should underline template syntax with squiggly lines

-   **type-utils:** check for type parameters on `isBuiltinSymbolLikeRecurser()`

-   **eslint-plugin:** \[no-deprecated] max callstack exceeded when class implements itself

-   **eslint-plugin:** \[no-misused-promises] check contextual type

-   **eslint-plugin:** \[prefer-literal-enum-member] allow nested bitwise operations

##### ❤️  Thank You

-   auvred
-   Josh Goldberg ✨
-   Kirk Waiblinger
-   Ronen Amiel
-   Tarun Chauhan
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v8.7.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#870-2024-09-23)

[Compare Source](typescript-eslint/typescript-eslint@v8.6.0...v8.7.0)

##### 🚀 Features

-   **eslint-plugin:** \[no-unsafe-call] check calls of Function

-   **eslint-plugin:** \[consistent-type-exports] check `export *` exports to see if all exported members are types

##### 🩹 Fixes

-   **eslint-plugin:** properly coerce all types to string in `getStaticMemberAccessValue`

-   **eslint-plugin:** \[no-deprecated] report on imported deprecated variables

-   **eslint-plugin:** \[no-confusing-non-null-assertion] check !in and !instanceof

##### ❤️  Thank You

-   Abraham Guo
-   auvred
-   Brian Donovan
-   Kirk Waiblinger

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v8.6.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#860-2024-09-16)

[Compare Source](typescript-eslint/typescript-eslint@v8.5.0...v8.6.0)

##### 🚀 Features

-   add `allow` option for `restrict-template-expressions`

-   **type-utils:** isNullableType add Void logic

-   **eslint-plugin:** \[no-unnecessary-condition] check switch cases

-   **eslint-plugin:** \[no-misused-promises] check array predicate return

##### 🩹 Fixes

-   **eslint-plugin:** \[no-deprecated] don't report recursive types in destructuring assignment twice

-   **eslint-plugin:** \[no-deprecated] report on deprecated variables used in destructuring assignment

-   **eslint-plugin:** \[no-deprecated] report on deprecated properties with function-like types

-   **eslint-plugin:** \[no-unnecessary-condition] properly reflect multiple negations in message

##### ❤️  Thank You

-   Abraham Guo
-   auvred
-   Josh Goldberg ✨
-   Kim Sang Du
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v8.5.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#850-2024-09-09)

[Compare Source](typescript-eslint/typescript-eslint@v8.4.0...v8.5.0)

##### 🚀 Features

-   **eslint-plugin:** \[no-duplicate-type-constituents] prevent unnecessary \`

-   **eslint-plugin:** \[no-unsafe-argument] differentiate error types

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unnecessary-type-assertion] fix TSNonNullExpression fixer

-   **eslint-plugin:** \[no-misused-promises] handle static method

-   **eslint-plugin:** \[no-unnecessary-type-parameters] fix AST quick path scope analysis

-   **eslint-plugin:** \[consistent-type-assertions] access parser services lazily

##### ❤️  Thank You

-   [`f44da95`](typescript-eslint/typescript-eslint@f44da958e)
-   Josh Goldberg ✨
-   Kirk Waiblinger
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v8.4.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#840-2024-09-02)

[Compare Source](typescript-eslint/typescript-eslint@v8.3.0...v8.4.0)

This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

### [`v8.3.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#830-2024-08-26)

[Compare Source](typescript-eslint/typescript-eslint@v8.2.0...v8.3.0)

##### 🚀 Features

-   **eslint-plugin:** \[no-deprecation] add rule

##### 🩹 Fixes

-   **eslint-plugin:** \[no-unnecessary-template-expression] add missing parentheses in autofix

-   **eslint-plugin:** \[no-unnecessary-type-parameters] check mapped alias type arguments

-   **utils:** add `TSDeclareFunction` to `functionTypeTypes`

-   **ast-spec:** use `Expression` in argument of `ThrowStatement`

##### ❤️  Thank You

-   Abraham Guo
-   Daichi Kamiyama
-   Josh Goldberg ✨
-   Kim Sang Du
-   Sukka
-   Vida Xie

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: https://git.vylpes.xyz/RabbitLabs/random-bunny/pulls/230
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 26, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
1 approval >=1 team member has approved this PR; we're now leaving it open for more reviews before we merge dependencies Issue about dependencies of the package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

TypeScript 5.6 Support
4 participants