Repository: TypeScript
Issue: Google feedback on TS 5.7-beta
Labels: Discussion

### Acknowledgement

- [x] I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion.

### Comment

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

## Executive summary

*   We do not expect to have significant difficulty in upgrading Google to TS 5.7.
*   Some changes to our TypeScript code are required to make it compile with TS 5.7.
*   Detail sections below explain the changes to our code we expect to make to unblock the upgrade.

## Impact summary

| Change description                     | Announced | Libraries affected |
| -------------------------------------- | --------: | -----------------: |
| Checks for Never-Initialized Variables | Yes       | ~0.004%            |
| lib.d.ts Changes                       | Yes       | ~0.004%            |
| TypedArrays Are Now Generic Over ArrayBufferLike       | Yes       | ~0.0005%           |

The **Announced** column indicates whether we were able to connect the observed change with a section in the [TS5.7-beta announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-7-beta/).

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

## Announced Changes

This section reviews all announced changes from the [TS5.7-beta announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-7-beta/), whether we support these changes at Google, how we will resolve pre-existing issues for these changes (if applicable), and other thoughts.

### Checks for Never-Initialized Variables

We support this change. The check uncovers real unintentional runtime behavior.

As part of this migration, we will add `// @ts-ignore` suppressions to silence pre-existing errors with a note advising code authors to revisit the code and fix these genuine problems.

Includes the following errors: TS2454

### Path Rewriting for Relative Paths

We support this change.

This change did not break any of our code.

### Support for --target es2024 and --lib es2024

We support this change.

### Searching Ancestor Configuration Files for Project Ownership

We support this change.

### Faster Project Ownership Checks in Editors for Composite Projects

We support this change.

### Validated JSON Imports in --module nodenext

We support this change.

### Support for V8 Compile Caching in Node.js

We support this change.

### lib.d.ts changes

We support these changes.

As part of this migration, for impacted `.d.ts` files, we will update conflicting typings where necessary. For impacted `.ts` files, we will add `// @ts-ignore` suppressions to silence pre-existing errors with a note advising code authors to revisit the code and fix these genuine problems.

### TypedArrays Are Now Generic Over ArrayBufferLike

We support this change.

As part of this migration, for impacted `.d.ts` files, we will update conflicting typings where necessary. For impacted `.ts` files, we will add `// @ts-ignore` suppressions to silence pre-existing errors with a note advising code authors to revisit the code and fix these genuine problems.

### Creating Index Signatures from Non-Literal Method Names in Classes

We support this change.

This change did not break any of our code.

### More Implicit any Errors on Functions Returning null and undefined

We support this change.

This changed did not break any of our code.

## Unannounced Changes

We were not able to associate any new breakages with specific unannounced changes. If we find any, we will update this.