Skip to content

fix(react-experiments): Fix build errors in TypeScript 5.3.3#30812

Merged
behowell merged 1 commit intomicrosoft:masterfrom
behowell:ts5/react-experiments
Mar 22, 2024
Merged

fix(react-experiments): Fix build errors in TypeScript 5.3.3#30812
behowell merged 1 commit intomicrosoft:masterfrom
behowell:ts5/react-experiments

Conversation

@behowell
Copy link
Contributor

@behowell behowell commented Mar 18, 2024

Previous Behavior

TypeScript 5 introduced some breaking changes to the way that implicit type coercion happens in templates, as well as a few other breaking changes. Although we don't currently use TypeScript 5.3.3 in the repo, experimental work in the xplat branch requires building against TypesScript 5+. There are also customers using TypeScript 5+, who are seeing build errors when importing FluentUI.

New Behavior

Fix build errors seen if the repo is updated to TypeScript 5.3.3. This is part of a set of PRs intending to fix all build errors when building against TypeScript 5.3.3.

The fixes in this PR are caused by:

  1. Breaking change in TS 4.8: Unconstrained Generics No Longer Assignable to {}.
    • Fixed by adding extends {} constraint to template types that previously had no constraint (effectively extends unknown). The new constraint disallows null and undefined as template parameters, which were never valid values for these type parameters anyways.

ℹ️ Note: This is NOT updating the project to use TypeScript 5.3.3, and an update to the TypeScript version is not planned as part of this change. It is only fixing build errors that would occur if it were built against TypeScript 5.3.3.

Related Issue(s)

This PR was split out from a draft PR that contains all of the changes. I'm not going to publish the monolith PR, but in case it helps to see all of the changes in one place:

Here are all of the split-out PRs:

@fabricteam
Copy link
Collaborator

📊 Bundle size report

🤖 This report was generated against 5e690201797c6b1ce34ac59638fd4a77a0f5a2b3

@codesandbox-ci
Copy link

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

@fabricteam
Copy link
Collaborator

🕵 fluentuiv8 No visual regressions between this PR and main

@behowell behowell marked this pull request as ready for review March 20, 2024 16:00
@behowell behowell requested a review from a team as a code owner March 20, 2024 16:00
@behowell
Copy link
Contributor Author

Bypassing fluentui-admins review requirement, which exists because react-experiments package doesn't have a code owner.

@behowell behowell merged commit 0a59344 into microsoft:master Mar 22, 2024
@behowell behowell deleted the ts5/react-experiments branch March 22, 2024 21:04
robertpenner pushed a commit to robertpenner/fluentui that referenced this pull request Apr 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants