Skip to content

Conversation

@Hotell
Copy link
Contributor

@HotellHotell commented May 31, 2023

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

functiongreet(who:string,greeting?: string): string{...}

↓ TS declaration emit ↓

- declare function greet(who:string, greeting?: string | undefined): string+ declare function greet(who:string, greeting?: string ): string

2. Better always true detection

https://github.com/microsoft/fluentui/pull/28067/files#diff-1f1acc68e7fa526941cdfaccf49201186c1dba65daf2b490ea2729aa7b6624ddL281-R282

Related Issue(s)

@fabricteam
Copy link
Collaborator

fabricteam commented May 31, 2023

📊 Bundle size report

Unchanged fixtures
Package & ExportsSize (minified/GZIP)
global-context
createContext
510 B
330 B
global-context
createContextSelector
537 B
342 B
priority-overflow
createOverflowManager
3.194 kB
1.315 kB
react-accordion
Accordion (including children components)
88.064 kB
26.659 kB
react-alert
Alert
82.552 kB
21.771 kB
react-avatar
Avatar
47.7 kB
14.504 kB
react-avatar
AvatarGroup
15.682 kB
6.306 kB
react-avatar
AvatarGroupItem
63.876 kB
18.984 kB
react-badge
Badge
23.591 kB
7.264 kB
react-badge
CounterBadge
24.493 kB
7.565 kB
react-badge
PresenceBadge
22.213 kB
7.872 kB
react-button
Button
36.778 kB
9.51 kB
react-button
CompoundButton
43.932 kB
10.99 kB
react-button
MenuButton
40.965 kB
10.705 kB
react-button
SplitButton
49.197 kB
12.27 kB
react-button
ToggleButton
55.06 kB
11.446 kB
react-card
Card - All
88.752 kB
25.122 kB
react-card
Card
83.687 kB
23.666 kB
react-card
CardFooter
9.229 kB
3.9 kB
react-card
CardHeader
11.125 kB
4.596 kB
react-card
CardPreview
10.034 kB
4.248 kB
react-checkbox
Checkbox
33.164 kB
10.699 kB
react-combobox
Combobox (including child components)
86.98 kB
28.084 kB
react-combobox
Dropdown (including child components)
85.321 kB
27.675 kB
react-components
react-components: Button, FluentProvider & webLightTheme
65.162 kB
17.952 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
210.103 kB
58.624 kB
react-components
react-components: FluentProvider & webLightTheme
36.395 kB
11.996 kB
react-datepicker-compat
DatePicker Compat
221.601 kB
59.012 kB
react-dialog
Dialog (including children components)
91.673 kB
27.385 kB
react-divider
Divider
17.477 kB
6.357 kB
react-field
Field
18.003 kB
6.931 kB
react-image
Image
11.55 kB
4.627 kB
react-infobutton
InfoButton
131.018 kB
40.224 kB
react-infobutton
InfoLabel
134.483 kB
41.291 kB
react-input
Input
24.219 kB
7.781 kB
react-label
Label
10.175 kB
4.243 kB
react-link
Link
12.375 kB
5.113 kB
react-menu
Menu (including children components)
132.175 kB
40.453 kB
react-menu
Menu (including selectable components)
134.939 kB
40.948 kB
react-overflow
hooks only
11.206 kB
4.266 kB
react-persona
Persona
54.621 kB
16.435 kB
react-popover
Popover
119.608 kB
36.799 kB
react-portal
Portal
11.82 kB
4.391 kB
react-portal-compat
PortalCompatProvider
6.473 kB
2.196 kB
react-positioning
usePositioning
24.249 kB
8.856 kB
react-progress
ProgressBar
13.927 kB
5.488 kB
react-provider
FluentProvider
18.115 kB
6.719 kB
react-radio
Radio
26.952 kB
8.608 kB
react-radio
RadioGroup
11.362 kB
4.753 kB
react-select
Select
24.915 kB
8.708 kB
react-slider
Slider
34.358 kB
11.107 kB
react-spinbutton
SpinButton
33.452 kB
10.296 kB
react-spinner
Spinner
21.363 kB
7.021 kB
react-switch
Switch
29.472 kB
9.226 kB
react-table
DataGrid
156.086 kB
42.712 kB
react-table
Table (Primitives only)
44.615 kB
12.472 kB
react-table
Table as DataGrid
131.742 kB
33.728 kB
react-table
Table (Selection only)
77.524 kB
19.166 kB
react-table
Table (Sort only)
76.854 kB
18.976 kB
react-tags
Tag
21.343 kB
7.822 kB
react-text
Text - Default
12.563 kB
4.972 kB
react-text
Text - Wrappers
15.713 kB
5.293 kB
react-textarea
Textarea
27.69 kB
9.125 kB
react-theme
Single theme token import
69 B
89 B
react-theme
Teams: all themes
31.987 kB
6.85 kB
react-theme
Teams: Light theme
18.121 kB
5.194 kB
react-tooltip
Tooltip
47.263 kB
16.585 kB
react-utilities
SSRProvider
180 B
159 B
🤖 This report was generated against 402599eb2172bf1cd13c003f5050e4d172ed9742

@fabricteam
Copy link
Collaborator

fabricteam commented May 31, 2023

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

ScenarioRender typeMaster TicksPR TicksIterationsStatus
Avatarmount6315975000
Buttonmount2973035000
Fieldmount109110365000
FluentProvidermount6336575000
FluentProviderWithThememount767510
FluentProviderWithThemevirtual-rerender626510
FluentProviderWithThemevirtual-rerender-with-unmount706910
InfoButtonmount14175000
MakeStylesmount85986250000
Personamount164715605000
SpinButtonmount131612825000

@fabricteam
Copy link
Collaborator

fabricteam commented May 31, 2023

🕵 fluentuiv8 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented May 31, 2023

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
ScenarioCurrent PR TicksBaseline TicksRatio
AccordionMinimalPerf.default90781.15:1
ListMinimalPerf.default3102911.07:1
LoaderMinimalPerf.default1891771.07:1
ReactionMinimalPerf.default2182051.06:1
ButtonMinimalPerf.default87831.05:1
DropdownManyItemsPerf.default3923741.05:1
GridMinimalPerf.default1991901.05:1
InputMinimalPerf.default5485231.05:1
SegmentMinimalPerf.default2041941.05:1
IconMinimalPerf.default3883691.05:1
AttachmentMinimalPerf.default83801.04:1
ChatDuplicateMessagesPerf.default1581521.04:1
ImageMinimalPerf.default2262181.04:1
TableMinimalPerf.default2342261.04:1
TreeWith60ListItems.default88851.04:1
AlertMinimalPerf.default1581531.03:1
FormMinimalPerf.default2222151.03:1
SkeletonMinimalPerf.default1991931.03:1
AttachmentSlotsPerf.default6416291.02:1
CarouselMinimalPerf.default2522471.02:1
EmbedMinimalPerf.default187418391.02:1
ItemLayoutMinimalPerf.default7066901.02:1
MenuButtonMinimalPerf.default9469261.02:1
PopupMinimalPerf.default3563491.02:1
ProviderMinimalPerf.default2011971.02:1
RefMinimalPerf.default1061041.02:1
StatusMinimalPerf.default4043961.02:1
TableManyItemsPerf.default114511181.02:1
TextAreaMinimalPerf.default2902831.02:1
CustomToolbarPrototype.default148314551.02:1
ButtonSlotsPerf.default3103061.01:1
DatepickerMinimalPerf.default353635011.01:1
HeaderMinimalPerf.default2072041.01:1
ListWith60ListItems.default3683661.01:1
RosterPerf.default153315211.01:1
ProviderMergeThemesPerf.default6776671.01:1
RadioGroupMinimalPerf.default2582561.01:1
SplitButtonMinimalPerf.default228622571.01:1
CardMinimalPerf.default3073081:1
CheckboxMinimalPerf.default111811201:1
LabelMinimalPerf.default2232231:1
PortalMinimalPerf.default86861:1
TooltipMinimalPerf.default123912381:1
TreeMinimalPerf.default4714731:1
ButtonOverridesMissPerf.default6246330.99:1
DropdownMinimalPerf.default143614540.99:1
VideoMinimalPerf.default4264320.99:1
AnimationMinimalPerf.default2872940.98:1
DialogMinimalPerf.default4374460.98:1
HeaderSlotsPerf.default4534630.98:1
MenuMinimalPerf.default4955040.98:1
SliderMinimalPerf.default7347470.98:1
ToolbarMinimalPerf.default5205330.98:1
ChatWithPopoverPerf.default1871920.97:1
DividerMinimalPerf.default2082140.97:1
ListNestedPerf.default3103180.97:1
TextMinimalPerf.default1871920.97:1
ChatMinimalPerf.default4144300.96:1
FlexMinimalPerf.default1491560.96:1
LayoutMinimalPerf.default1952030.96:1
ListCommonPerf.default3663810.96:1
BoxMinimalPerf.default1851950.95:1
AvatarMinimalPerf.default1011100.92:1

@fabricteam
Copy link
Collaborator

fabricteam commented May 31, 2023

🕵 FluentUI-v0 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented May 31, 2023

🕵 fluentuiv9 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented May 31, 2023

Perf Analysis (@fluentui/react)

No significant results to display.

All results

ScenarioRender typeMaster TicksPR TicksIterationsStatus
BaseButtonmount6196235000
Breadcrumbmount167216621000
Checkboxmount166616775000
CheckboxBasemount145214665000
ChoiceGroupmount292428475000
ComboBoxmount6506501000
CommandBarmount626862291000
ContextualMenumount12207120101000
DefaultButtonmount7447275000
DetailsRowmount223021385000
DetailsRowFastmount219522015000
DetailsRowNoStylesmount204820485000
Dialogmount264326201000
DocumentCardTitlemount2252361000
Dropdownmount197519465000
FocusTrapZonemount111411225000
FocusZonemount104710335000
GroupedListmount41594416682
GroupedListvirtual-rerender19895198722
GroupedListvirtual-rerender-with-unmount50573506152
GroupedListV2mount2282292
GroupedListV2virtual-rerender2142192
GroupedListV2virtual-rerender-with-unmount2372302
IconButtonmount107210895000
Labelmount3293385000
Layermount275127295000
Linkmount4213885000
MenuButtonmount9479475000
MessageBarmount21507215015000
Navmount191319411000
OverflowSetmount7747485000
Panelmount177117841000
Personamount7467601000
Pivotmount8888581000
PrimaryButtonmount8618545000
Ratingmount455946485000
SearchBoxmount8859155000
Shimmermount189618785000
Slidermount131513315000
SpinButtonmount280828975000
Spinnermount3963995000
SplitButtonmount184318445000
Stackmount4203975000
StackWithIntrinsicChildrenmount8638375000
StackWithTextChildrenmount263626265000
SwatchColorPickermount598760715000
TagPickermount144314505000
Textmount3803785000
TextFieldmount9429085000
ThemeProvidermount8248365000
ThemeProvidervirtual-rerender5935865000
ThemeProvidervirtual-rerender-with-unmount127712725000
Togglemount6006015000
buttonNativemount1921905000

@codesandbox-ci
Copy link

codesandbox-cibot commented Jun 2, 2023

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:

SandboxSource
@fluentui/react 8 starterConfiguration
@fluentui/react-components 9 starterConfiguration

@HotellHotellforce-pushed the hotell/build/ts-4-7 branch 3 times, most recently from 6a82e97 to d6d6c60CompareJune 5, 2023 13:30
@size-auditor
Copy link

size-auditorbot commented Jun 5, 2023

Asset size changes

ProjectBundleBaseline SizeNew SizeDifference
office-ui-fabric-reactfluentui-react-northstar-Dialog117.07 kB117.074 kBExceedsBaseline 4 bytes
office-ui-fabric-reactfluentui-react-northstar-Portal59.825 kB59.829 kBExceedsBaseline 4 bytes
office-ui-fabric-reactfluentui-react-northstar-Dropdown203.794 kB203.798 kBExceedsBaseline 4 bytes

ExceedsTolerance Over Tolerance (1024 B) ExceedsBaseline Over Baseline BelowBaseline Below Baseline New New Deleted Removed 1 kB = 1000 B

Baseline commit: 402599eb2172bf1cd13c003f5050e4d172ed9742(build)

@HotellHotellforce-pushed the hotell/build/ts-4-7 branch from f117e8e to a1d570cCompareJune 7, 2023 11:19
@HotellHotell marked this pull request as ready for review June 7, 2023 12:10
@HotellHotell requested review from a team and GeoffCoxMSFT as code ownersJune 7, 2023 12:10
Hotell added 14 commits June 16, 2023 11:07
… fixing issues on how to generate optional/undefined
…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
@HotellHotellforce-pushed the hotell/build/ts-4-7 branch from d202ff5 to c8aa1e4CompareJune 16, 2023 09:07
@HotellHotell merged commit cf6b94b into microsoft:masterJun 16, 2023
@HotellHotell deleted the hotell/build/ts-4-7 branch June 16, 2023 10:49
@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

marcosmoura added a commit to marcosmoura/fluentui that referenced this pull request Jun 20, 2023
* 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) ...
@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/[email protected] has been released which incorporates this pull request.:tada:

Handy links:

@HotellHotell mentioned this pull request Jun 23, 2023
28 tasks
Sign up for freeto 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.

9 participants

@Hotell@fabricteam@msft-fluent-ui-bot@micahgodbolt@levithomason@khmakoto@miroslavstastny@layershifter@tudorpopams