Skip to content

TypeScript 5.3 Support #7719

Closed
Closed
@bradzacher

Description

@bradzacher

https://devblogs.microsoft.com/typescript/announcing-typescript-5-3-beta/

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.

✅ Import Attributes (#7821)

We should take this opportunity to deprecate our import/export .assertions property, and instead implement the import/export .attributes property. The AST shape is otherwise unchanged so it should just be a property deprecation.

From the TS AST side - they deprecated the .assertClause property that we currently use to get the attributes and the intended replacement is .attributes. Otherwise no changes.

✅ Optimizations by Skipping JSDoc Parsing (#7821)

Our usecase was one of the motivators for this change!
We'll want to ensure we are parsing with host.jsDocParsingMode = JSDocParsingMode.ParseForTypeInfo.

This should reduce memory usage and improve parsing performance.

✅ lib.d.ts Updates (#7923)

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


Other changes with no impact to us

  • Stable Support resolution-mode in Import Types
  • switch (true) Narrowing
    • it's not treated the same as an if condition - so we don't need to worry about updating our rules to match this, I think?
  • Narrowing On Comparisons to Booleans
  • instanceof Narrowing Through Symbol.hasInstance
  • Checks for super Property Accesses on Instance Fields
  • Interactive Inlay Hints for Types
  • Optimizations by Comparing Non-Normalized Intersections
  • Consolidation Between tsserverlibrary.js and typescript.js
    • Once we drop <5.3 we can switch everything to import from the root export. But for now we need backwards compat.
  • Breaking Changes and Correctness Improvements
    lib.d.ts Changes
    • Checks for super Accesses on Instance Properties

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      pFad - Phonifier reborn

      Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

      Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy