Skip to content

Google feedback on TS 4.8-beta #50272

Closed
Closed

Description

@frost-cy

This GitHub issue contains feedback on the TS 4.8-beta release from the team that is responsible for keeping Google's internal software working with the latest version of TypeScript.

Executive summary

  • Some changes to our TypeScript code are required to make it compile with TS 4.8.
  • Detail sections below explain the changes to our code we expect to make to unblock the upgrade.

Impact summary

Change description Announced Libraries affected
Unconstrained Generics No Longer Assignable to {} yes 0.058%
lib/d.ts changes yes 0.013%
Improved Intersection Reduction, Union Compatibility, and Narrowing yes 0.009%
Errors When Comparing Object and Array Literals yes 0.006%
Unclassified - 0.003%

The Announced column indicates whether we were able to connect the observed change with a section in the TS4.8-beta announcement.

The following sections give more detailed explanations of the changes listed above.

Changes which were announced

Unconstrained Generics No Longer Assignable to {}

We see type errors similar to the ones mentioned in the release announcement.

We expect to add extends {} to generic type parameters to fix these issues.

lib/d.ts changes

We support the typing improvements. Generally it's clear what's changing.

These are the most common errors we observed:

  • decorators has been merged with modifiers on the declarations that support decorators.

  • ReadableStreamDefaultReadResult has changed to ReadableStreamReadResult

  • visualViewport is nullable

We expect to add casts to any to silence the error and apply proper fixes over time.

Improved Intersection Reduction, Union Compatibility, and Narrowing

We see type errors related to unknown, NonNullability<T> due to the changes mentioned in release announcement.

We expect to add relevant type cast to fix the issues.

Errors When Comparing Object and Array Literals

We see type errors similar to the ones mentioned in the release announcement.

We expect to add casts to any to silence the error and apply proper fixes over time.

Activity

  1. johnBartos commented on Aug 29, 2022

    @johnBartos

    ReadableStreamDefaultReadResult has changed to ReadableStreamReadResult

    I also encountered this and didn't see anything mentioned in the release notes, so I'm grateful I found this issue. Would be nice to have these kinds of type changes called out in the future.

  2. RyanCavanaugh commented on Aug 29, 2022

    @RyanCavanaugh
    Member

    Would be nice to have these kinds of type changes called out in the future.

    This is part of the "lib updates"; correctness updates here are generally not considered noteworthy. Was there a false positive?

  3. johnBartos commented on Aug 29, 2022

    @johnBartos

    Would be nice to have these kinds of type changes called out in the future.

    This is part of the "lib updates"; correctness updates here are generally not considered noteworthy. Was there a false positive?

    Ah understood, I think in general it's not noteworthy. I think this specific issue had some churn because the streams definition was missing in a prior version, then added with the incorrect name, and then fixed in this version. #42970

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    DiscussionIssues which may not have code impact

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions