TypeScript
TypeScript copied to clipboard
Google feedback on TS 5.7-beta
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.
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, 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.