-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: migrate to TS 4.7 #28067
chore: migrate to TS 4.7 #28067
Conversation
📊 Bundle size reportUnchanged fixtures
|
Perf Analysis (
|
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
Avatar | mount | 631 | 597 | 5000 | |
Button | mount | 297 | 303 | 5000 | |
Field | mount | 1091 | 1036 | 5000 | |
FluentProvider | mount | 633 | 657 | 5000 | |
FluentProviderWithTheme | mount | 76 | 75 | 10 | |
FluentProviderWithTheme | virtual-rerender | 62 | 65 | 10 | |
FluentProviderWithTheme | virtual-rerender-with-unmount | 70 | 69 | 10 | |
InfoButton | mount | 14 | 17 | 5000 | |
MakeStyles | mount | 859 | 862 | 50000 | |
Persona | mount | 1647 | 1560 | 5000 | |
SpinButton | mount | 1316 | 1282 | 5000 |
🕵 fluentuiv8 No visual regressions between this PR and main |
Perf Analysis (
|
Scenario | Current PR Ticks | Baseline Ticks | Ratio |
---|---|---|---|
AccordionMinimalPerf.default | 90 | 78 | 1.15:1 |
ListMinimalPerf.default | 310 | 291 | 1.07:1 |
LoaderMinimalPerf.default | 189 | 177 | 1.07:1 |
ReactionMinimalPerf.default | 218 | 205 | 1.06:1 |
ButtonMinimalPerf.default | 87 | 83 | 1.05:1 |
DropdownManyItemsPerf.default | 392 | 374 | 1.05:1 |
GridMinimalPerf.default | 199 | 190 | 1.05:1 |
InputMinimalPerf.default | 548 | 523 | 1.05:1 |
SegmentMinimalPerf.default | 204 | 194 | 1.05:1 |
IconMinimalPerf.default | 388 | 369 | 1.05:1 |
AttachmentMinimalPerf.default | 83 | 80 | 1.04:1 |
ChatDuplicateMessagesPerf.default | 158 | 152 | 1.04:1 |
ImageMinimalPerf.default | 226 | 218 | 1.04:1 |
TableMinimalPerf.default | 234 | 226 | 1.04:1 |
TreeWith60ListItems.default | 88 | 85 | 1.04:1 |
AlertMinimalPerf.default | 158 | 153 | 1.03:1 |
FormMinimalPerf.default | 222 | 215 | 1.03:1 |
SkeletonMinimalPerf.default | 199 | 193 | 1.03:1 |
AttachmentSlotsPerf.default | 641 | 629 | 1.02:1 |
CarouselMinimalPerf.default | 252 | 247 | 1.02:1 |
EmbedMinimalPerf.default | 1874 | 1839 | 1.02:1 |
ItemLayoutMinimalPerf.default | 706 | 690 | 1.02:1 |
MenuButtonMinimalPerf.default | 946 | 926 | 1.02:1 |
PopupMinimalPerf.default | 356 | 349 | 1.02:1 |
ProviderMinimalPerf.default | 201 | 197 | 1.02:1 |
RefMinimalPerf.default | 106 | 104 | 1.02:1 |
StatusMinimalPerf.default | 404 | 396 | 1.02:1 |
TableManyItemsPerf.default | 1145 | 1118 | 1.02:1 |
TextAreaMinimalPerf.default | 290 | 283 | 1.02:1 |
CustomToolbarPrototype.default | 1483 | 1455 | 1.02:1 |
ButtonSlotsPerf.default | 310 | 306 | 1.01:1 |
DatepickerMinimalPerf.default | 3536 | 3501 | 1.01:1 |
HeaderMinimalPerf.default | 207 | 204 | 1.01:1 |
ListWith60ListItems.default | 368 | 366 | 1.01:1 |
RosterPerf.default | 1533 | 1521 | 1.01:1 |
ProviderMergeThemesPerf.default | 677 | 667 | 1.01:1 |
RadioGroupMinimalPerf.default | 258 | 256 | 1.01:1 |
SplitButtonMinimalPerf.default | 2286 | 2257 | 1.01:1 |
CardMinimalPerf.default | 307 | 308 | 1:1 |
CheckboxMinimalPerf.default | 1118 | 1120 | 1:1 |
LabelMinimalPerf.default | 223 | 223 | 1:1 |
PortalMinimalPerf.default | 86 | 86 | 1:1 |
TooltipMinimalPerf.default | 1239 | 1238 | 1:1 |
TreeMinimalPerf.default | 471 | 473 | 1:1 |
ButtonOverridesMissPerf.default | 624 | 633 | 0.99:1 |
DropdownMinimalPerf.default | 1436 | 1454 | 0.99:1 |
VideoMinimalPerf.default | 426 | 432 | 0.99:1 |
AnimationMinimalPerf.default | 287 | 294 | 0.98:1 |
DialogMinimalPerf.default | 437 | 446 | 0.98:1 |
HeaderSlotsPerf.default | 453 | 463 | 0.98:1 |
MenuMinimalPerf.default | 495 | 504 | 0.98:1 |
SliderMinimalPerf.default | 734 | 747 | 0.98:1 |
ToolbarMinimalPerf.default | 520 | 533 | 0.98:1 |
ChatWithPopoverPerf.default | 187 | 192 | 0.97:1 |
DividerMinimalPerf.default | 208 | 214 | 0.97:1 |
ListNestedPerf.default | 310 | 318 | 0.97:1 |
TextMinimalPerf.default | 187 | 192 | 0.97:1 |
ChatMinimalPerf.default | 414 | 430 | 0.96:1 |
FlexMinimalPerf.default | 149 | 156 | 0.96:1 |
LayoutMinimalPerf.default | 195 | 203 | 0.96:1 |
ListCommonPerf.default | 366 | 381 | 0.96:1 |
BoxMinimalPerf.default | 185 | 195 | 0.95:1 |
AvatarMinimalPerf.default | 101 | 110 | 0.92:1 |
🕵 FluentUI-v0 No visual regressions between this PR and main |
🕵 fluentuiv9 No visual regressions between this PR and main |
Perf Analysis (
|
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
BaseButton | mount | 619 | 623 | 5000 | |
Breadcrumb | mount | 1672 | 1662 | 1000 | |
Checkbox | mount | 1666 | 1677 | 5000 | |
CheckboxBase | mount | 1452 | 1466 | 5000 | |
ChoiceGroup | mount | 2924 | 2847 | 5000 | |
ComboBox | mount | 650 | 650 | 1000 | |
CommandBar | mount | 6268 | 6229 | 1000 | |
ContextualMenu | mount | 12207 | 12010 | 1000 | |
DefaultButton | mount | 744 | 727 | 5000 | |
DetailsRow | mount | 2230 | 2138 | 5000 | |
DetailsRowFast | mount | 2195 | 2201 | 5000 | |
DetailsRowNoStyles | mount | 2048 | 2048 | 5000 | |
Dialog | mount | 2643 | 2620 | 1000 | |
DocumentCardTitle | mount | 225 | 236 | 1000 | |
Dropdown | mount | 1975 | 1946 | 5000 | |
FocusTrapZone | mount | 1114 | 1122 | 5000 | |
FocusZone | mount | 1047 | 1033 | 5000 | |
GroupedList | mount | 41594 | 41668 | 2 | |
GroupedList | virtual-rerender | 19895 | 19872 | 2 | |
GroupedList | virtual-rerender-with-unmount | 50573 | 50615 | 2 | |
GroupedListV2 | mount | 228 | 229 | 2 | |
GroupedListV2 | virtual-rerender | 214 | 219 | 2 | |
GroupedListV2 | virtual-rerender-with-unmount | 237 | 230 | 2 | |
IconButton | mount | 1072 | 1089 | 5000 | |
Label | mount | 329 | 338 | 5000 | |
Layer | mount | 2751 | 2729 | 5000 | |
Link | mount | 421 | 388 | 5000 | |
MenuButton | mount | 947 | 947 | 5000 | |
MessageBar | mount | 21507 | 21501 | 5000 | |
Nav | mount | 1913 | 1941 | 1000 | |
OverflowSet | mount | 774 | 748 | 5000 | |
Panel | mount | 1771 | 1784 | 1000 | |
Persona | mount | 746 | 760 | 1000 | |
Pivot | mount | 888 | 858 | 1000 | |
PrimaryButton | mount | 861 | 854 | 5000 | |
Rating | mount | 4559 | 4648 | 5000 | |
SearchBox | mount | 885 | 915 | 5000 | |
Shimmer | mount | 1896 | 1878 | 5000 | |
Slider | mount | 1315 | 1331 | 5000 | |
SpinButton | mount | 2808 | 2897 | 5000 | |
Spinner | mount | 396 | 399 | 5000 | |
SplitButton | mount | 1843 | 1844 | 5000 | |
Stack | mount | 420 | 397 | 5000 | |
StackWithIntrinsicChildren | mount | 863 | 837 | 5000 | |
StackWithTextChildren | mount | 2636 | 2626 | 5000 | |
SwatchColorPicker | mount | 5987 | 6071 | 5000 | |
TagPicker | mount | 1443 | 1450 | 5000 | |
Text | mount | 380 | 378 | 5000 | |
TextField | mount | 942 | 908 | 5000 | |
ThemeProvider | mount | 824 | 836 | 5000 | |
ThemeProvider | virtual-rerender | 593 | 586 | 5000 | |
ThemeProvider | virtual-rerender-with-unmount | 1277 | 1272 | 5000 | |
Toggle | mount | 600 | 601 | 5000 | |
buttonNative | mount | 192 | 190 | 5000 |
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. Latest deployment of this branch, based on commit c8aa1e4:
|
6a82e97
to
d6d6c60
Compare
Asset size changes
Baseline commit: 402599eb2172bf1cd13c003f5050e4d172ed9742 (build) |
f117e8e
to
a1d570c
Compare
… fixing issues on how to generate optional/undefined
…or implementation changes
…ined API signatures introduce in ts 4.4 but api-extractor was not properly reflecting it
…/undefined API signatures introduce in ts 4.4 but api-extractor was not properly reflecting it
…ional/undefined API signatures introduce in ts 4.4 but api-extractor was not properly reflecting it
…ause TS 4.7 breaking change in declaration emit api - Optional parameter does not on include undefined
d202ff5
to
c8aa1e4
Compare
🎉 Handy links: |
🎉 Handy links: |
🎉 Handy links: |
🎉 Handy links: |
🎉 Handy links: |
* master: (32 commits) applying package updates feat(react-tags): add styles for size (microsoft#28229) docs(react-dialog): update DialogTriggerOutsideDialog to include focus behavior (microsoft#28176) bugfix: Ensures dialog actions stretches on breakpoints (microsoft#28258) applying package updates fix: TableHeaderCell should not render button when not sortable (microsoft#28097) fix(react-file-type-icons): Map mhtml extension to html icon (microsoft#28112) Fix overlapping axis labels on smaller viewports (microsoft#28239) useArrowNavigationGroup grid-linear axis (microsoft#28253) applying package updates fix: Alert example missing aria-label for icon (microsoft#28234) Overflow divider fix (microsoft#28011) feat(tools): implement `cypress-component-configuration` generator (microsoft#28115) chore: migrate to TS 4.7 (microsoft#28067) fix(scripts-tasks): make generate-api work in deterministic way (microsoft#28215) feat(react-tags): add overflow story (microsoft#28012) Structure and slots for SearchBox, using Input as a slot (microsoft#28090) feat(tokens): Add/update theme tokens (microsoft#27791) feat(react-tags): add a11y role and best practices guide (microsoft#28075) fix: Toast intent should always be present in the context (microsoft#28226) ...
🎉 Handy links: |
🎉 Handy links: |
🎉 Handy links: |
🎉 Handy links: |
🎉 Handy links: |
🎉 Handy links: |
New Behavior
Release notes: https://devblogs.microsoft.com/typescript/announcing-typescript-4-7
Announced breaking changes affecting our codebase:
Not announced breaking changes affecting our codebase:
1.Optional parameter does not include undefined
NOTE: while "Breaking change" from API extractor POV, it's both backwards and forwards compatible. You can check that it works the same in any TS version in this demo.
microsoft/TypeScript#48605
↓ TS declaration emit ↓
2. Better always true detection
https://github.com/microsoft/fluentui/pull/28067/files#diff-1f1acc68e7fa526941cdfaccf49201186c1dba65daf2b490ea2729aa7b6624ddL281-R282
Related Issue(s)