Skip to content

fix(web-components): Fix build errors in TypeScript 5.3.3#30815

Closed
behowell wants to merge 2 commits intomicrosoft:masterfrom
behowell:ts5/web-components
Closed

fix(web-components): Fix build errors in TypeScript 5.3.3#30815
behowell wants to merge 2 commits intomicrosoft:masterfrom
behowell:ts5/web-components

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 all 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 monolith 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.

@behowell behowell marked this pull request as ready for review March 20, 2024 16:02
@behowell behowell requested a review from a team as a code owner March 20, 2024 16:02
@behowell behowell closed this Apr 3, 2025
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