Skip to content
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

TypeScript 4.9 Support #5688

Closed
bradzacher opened this issue Sep 24, 2022 · 8 comments
Closed

TypeScript 4.9 Support #5688

bradzacher opened this issue Sep 24, 2022 · 8 comments
Labels
AST PRs and Issues about the AST structure dependencies Issue about dependencies of the package New TypeScript Version

Comments

@bradzacher
Copy link
Member

bradzacher commented Sep 24, 2022

https://devblogs.microsoft.com/typescript/announcing-typescript-4-9-rc/

This issue is just to track all of the new features and their implementation state in this project.
As with all releases, we will not necessarily to support all features until closer to the full release when everything the features are stabilised.

Please be patient.

✅ The satisfies Operator (#5717)

const palette = {
    red: [255, 0, 0],
    green: "#00ff00",
    bleu: [0, 0, 255]
//  ~~~~ The typo is now caught!
} satisfies Record<Colors, string | RGB>;

This will require AST changes

✅ Auto-Accessors in Classes (#5926)

class Person {
    accessor name: string;

    constructor(name: string) {
        this.name = name;
    }
}

This will require AST changes.
This feature is based on the stage-3 decorators proposal.
We will need to implement the defined ESTree AST

substitute Replaced With constraint on SubstitutionTypes

We will need to double-check our codebase for usages of the old property.

lib.d.ts Updates

We will need to regenerate our types within scope-manager.


Other changes with no impact to us

  • Unlisted Property Narrowing with the in Operator
  • Checks For Equality on NaN
  • File-Watching Now Uses File System Events
  • "Remove Unused Imports" and "Sort Imports" Commands for Editors
  • Go-to-Definition on return Keywords
  • Performance Improvements
  • Breaking Changes
    • Better Types for Promise.resolve
    • JavaScript Emit No Longer Elides Imports
    • exports is Prioritized Over typesVersions
@bradzacher bradzacher added dependencies Issue about dependencies of the package AST PRs and Issues about the AST structure labels Sep 24, 2022
@bradzacher bradzacher pinned this issue Sep 24, 2022
@sosukesuzuki

This comment was marked as resolved.

@bradzacher

This comment was marked as resolved.

@bradzacher

This comment was marked as resolved.

@szulcus

This comment was marked as off-topic.

@ngregory-rbi

This comment was marked as resolved.

@matthew-dean

This comment was marked as resolved.

@JoshuaKGoldberg
Copy link
Member

JoshuaKGoldberg commented Nov 20, 2022

will it only be released once auto-accessor support is added?

You can always use our canary versions: https://github.com/typescript-eslint/typescript-eslint/tree/a4f85b8cfe38ba8ea2a2ac4a56d9b11a81a8a15a#versioning.

We publish a canary release on every successful merge to main, so you never need to wait for a new stable version to make use of any updates.

Additionally, we promote to the latest tag on NPM once per week, on Mondays at 1 pm Eastern.

5.43.1-alpha.22 was released yesterday and does include support for satisfies.

I've also filed #6046 that we should document exactly how to use canary versions. See that issue's description for npm and yarn commands you can use.


Was this not released with @typescript-eslint v5.43.0

No, satisfies was merged in #5717 on November 17th. 5.43.0 was released November 14th: https://github.com/typescript-eslint/typescript-eslint/releases/tag/v5.43.0.


We're blocked on fully supporting TypeScript 4.9 on #5926, which is waiting for a decision on naming alignment discussion with ESTree (estree/estree#292).

I'm going to lock this thread because there's nothing to discuss until #5926 lands. Thanks for your interest everyone - hopefully it'll be soon!

@bradzacher
Copy link
Member Author

bradzacher commented Nov 28, 2022

accessor support has merged and will be released as part of the standard cycle!

so next release will officially have full support for TS 4.9, closing.

@typescript-eslint typescript-eslint unlocked this conversation Nov 28, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 7, 2022
@bradzacher bradzacher unpinned this issue Jan 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
AST PRs and Issues about the AST structure dependencies Issue about dependencies of the package New TypeScript Version
Projects
None yet
Development

No branches or pull requests

6 participants