-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
feat: support TypeScript 5.6 #9972
Conversation
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. |
✅ Deploy Preview for typescript-eslint ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
There was a problem hiding this 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?
I started on tests in ced3289, but am roughly waiting on api-extractor to be patched. |
Codecov ReportAttention: Patch coverage is
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
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
@JoshuaKGoldberg if you're happy with the changes in |
.yarn/patches/@microsoft-api-extractor-npm-7.47.9-d69a694fc6.patch
Outdated
Show resolved
Hide resolved
.prettierignore
Outdated
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! (approving)
f9c49e3
into
typescript-eslint:main
##### [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.
| 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.
| 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.
// Both of these are equivalent: | ||
const x = <Foo a:b="hello" />; | ||
const y = <Foo a : b="hello" />; | ||
const y = <Foo a:b="hello" />; |
There was a problem hiding this comment.
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) 😅
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 (@​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 ([#​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 [@​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>
PR Checklist
Overview
Co-authored-by: @jakebailey