fluentui
fluentui copied to clipboard
feat(workspace-plugin): implement inferred plugins for clean,format,type-check targets
Previous Behavior
New Behavior
- implements workspace plugins that create inferred project targets
- enabled only for
scripts/**tools/**projects for initial testing
Related Issue(s)
- Follows https://github.com/microsoft/fluentui/pull/32371
- Implements partially https://github.com/microsoft/fluentui/issues/30267
📊 Bundle size report
✅ No changes found
Perf Analysis (@fluentui/react-components)
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| FluentProviderWithTheme | virtual-rerender | 34 | 41 | 10 | Possible regression |
All results
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| Avatar | mount | 644 | 601 | 5000 | |
| Button | mount | 300 | 312 | 5000 | |
| Field | mount | 1106 | 1140 | 5000 | |
| FluentProvider | mount | 712 | 715 | 5000 | |
| FluentProviderWithTheme | mount | 86 | 92 | 10 | |
| FluentProviderWithTheme | virtual-rerender | 34 | 41 | 10 | Possible regression |
| FluentProviderWithTheme | virtual-rerender-with-unmount | 84 | 80 | 10 | |
| MakeStyles | mount | 903 | 875 | 50000 | |
| Persona | mount | 1811 | 1733 | 5000 | |
| SpinButton | mount | 1383 | 1390 | 5000 | |
| SwatchPicker | mount | 1640 | 1674 | 5000 |
🕵 FluentUIV0 No visual regressions between this PR and main
Perf Analysis (@fluentui/react-northstar)
:warning: 2 potential perf regressions detected
Potential regressions comparing to master
| Scenario | Current PR Ticks | Baseline Ticks | Ratio | Regression Analysis |
|---|---|---|---|---|
| AlertMinimalPerf.default | 152 | 166 | 0.92:1 | analysis |
| AccordionMinimalPerf.default | 73 | 95 | 0.77:1 | analysis |
Perf tests with no regressions
| Scenario | Current PR Ticks | Baseline Ticks | Ratio |
|---|---|---|---|
| PortalMinimalPerf.default | 96 | 88 | 1.09:1 |
| IconMinimalPerf.default | 407 | 372 | 1.09:1 |
| AttachmentMinimalPerf.default | 94 | 87 | 1.08:1 |
| FlexMinimalPerf.default | 160 | 148 | 1.08:1 |
| TableMinimalPerf.default | 253 | 235 | 1.08:1 |
| ToolbarMinimalPerf.default | 572 | 528 | 1.08:1 |
| AvatarMinimalPerf.default | 116 | 108 | 1.07:1 |
| ChatDuplicateMessagesPerf.default | 156 | 146 | 1.07:1 |
| RadioGroupMinimalPerf.default | 275 | 257 | 1.07:1 |
| RefMinimalPerf.default | 114 | 107 | 1.07:1 |
| BoxMinimalPerf.default | 201 | 189 | 1.06:1 |
| ChatWithPopoverPerf.default | 203 | 193 | 1.05:1 |
| DialogMinimalPerf.default | 464 | 443 | 1.05:1 |
| GridMinimalPerf.default | 195 | 185 | 1.05:1 |
| ListNestedPerf.default | 332 | 315 | 1.05:1 |
| TextMinimalPerf.default | 197 | 190 | 1.04:1 |
| CardMinimalPerf.default | 313 | 303 | 1.03:1 |
| ProviderMergeThemesPerf.default | 651 | 632 | 1.03:1 |
| TreeMinimalPerf.default | 490 | 478 | 1.03:1 |
| DividerMinimalPerf.default | 218 | 213 | 1.02:1 |
| DropdownManyItemsPerf.default | 395 | 387 | 1.02:1 |
| FormMinimalPerf.default | 234 | 229 | 1.02:1 |
| PopupMinimalPerf.default | 353 | 347 | 1.02:1 |
| ProviderMinimalPerf.default | 203 | 199 | 1.02:1 |
| SkeletonMinimalPerf.default | 210 | 205 | 1.02:1 |
| SliderMinimalPerf.default | 740 | 724 | 1.02:1 |
| ButtonSlotsPerf.default | 316 | 312 | 1.01:1 |
| ChatMinimalPerf.default | 453 | 448 | 1.01:1 |
| CheckboxMinimalPerf.default | 1142 | 1135 | 1.01:1 |
| DatepickerMinimalPerf.default | 3615 | 3590 | 1.01:1 |
| DropdownMinimalPerf.default | 1423 | 1411 | 1.01:1 |
| InputMinimalPerf.default | 548 | 543 | 1.01:1 |
| LoaderMinimalPerf.default | 187 | 186 | 1.01:1 |
| MenuMinimalPerf.default | 509 | 503 | 1.01:1 |
| MenuButtonMinimalPerf.default | 977 | 971 | 1.01:1 |
| SegmentMinimalPerf.default | 205 | 203 | 1.01:1 |
| StatusMinimalPerf.default | 385 | 383 | 1.01:1 |
| CustomToolbarPrototype.default | 1479 | 1458 | 1.01:1 |
| EmbedMinimalPerf.default | 1876 | 1874 | 1:1 |
| LayoutMinimalPerf.default | 201 | 202 | 1:1 |
| ListCommonPerf.default | 395 | 395 | 1:1 |
| ListMinimalPerf.default | 308 | 307 | 1:1 |
| SplitButtonMinimalPerf.default | 2261 | 2271 | 1:1 |
| TableManyItemsPerf.default | 1107 | 1108 | 1:1 |
| VideoMinimalPerf.default | 427 | 428 | 1:1 |
| AttachmentSlotsPerf.default | 651 | 655 | 0.99:1 |
| ItemLayoutMinimalPerf.default | 717 | 725 | 0.99:1 |
| TooltipMinimalPerf.default | 1277 | 1286 | 0.99:1 |
| AnimationMinimalPerf.default | 290 | 297 | 0.98:1 |
| ImageMinimalPerf.default | 221 | 225 | 0.98:1 |
| LabelMinimalPerf.default | 230 | 235 | 0.98:1 |
| ListWith60ListItems.default | 363 | 370 | 0.98:1 |
| RosterPerf.default | 1565 | 1600 | 0.98:1 |
| CarouselMinimalPerf.default | 258 | 265 | 0.97:1 |
| TextAreaMinimalPerf.default | 292 | 300 | 0.97:1 |
| ButtonMinimalPerf.default | 87 | 91 | 0.96:1 |
| HeaderSlotsPerf.default | 463 | 480 | 0.96:1 |
| ReactionMinimalPerf.default | 216 | 225 | 0.96:1 |
| ButtonOverridesMissPerf.default | 647 | 678 | 0.95:1 |
| HeaderMinimalPerf.default | 202 | 215 | 0.94:1 |
| TreeWith60ListItems.default | 85 | 91 | 0.93:1 |
Perf Analysis (@fluentui/react)
No significant results to display.
All results
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| BaseButton | mount | 627 | 659 | 5000 | |
| Breadcrumb | mount | 1708 | 1697 | 1000 | |
| Checkbox | mount | 1710 | 1676 | 5000 | |
| CheckboxBase | mount | 1490 | 1483 | 5000 | |
| ChoiceGroup | mount | 2955 | 2972 | 5000 | |
| ComboBox | mount | 662 | 697 | 1000 | |
| CommandBar | mount | 6542 | 6658 | 1000 | |
| ContextualMenu | mount | 13746 | 13632 | 1000 | |
| DefaultButton | mount | 795 | 802 | 5000 | |
| DetailsRow | mount | 2200 | 2248 | 5000 | |
| DetailsRowFast | mount | 2230 | 2224 | 5000 | |
| DetailsRowNoStyles | mount | 2050 | 2032 | 5000 | |
| Dialog | mount | 2843 | 2879 | 1000 | |
| DocumentCardTitle | mount | 227 | 227 | 1000 | |
| Dropdown | mount | 2010 | 1988 | 5000 | |
| FocusTrapZone | mount | 1138 | 1147 | 5000 | |
| FocusZone | mount | 1089 | 1058 | 5000 | |
| GroupedList | mount | 42510 | 42459 | 2 | |
| GroupedList | virtual-rerender | 20606 | 20308 | 2 | |
| GroupedList | virtual-rerender-with-unmount | 54353 | 52323 | 2 | |
| GroupedListV2 | mount | 230 | 237 | 2 | |
| GroupedListV2 | virtual-rerender | 222 | 218 | 2 | |
| GroupedListV2 | virtual-rerender-with-unmount | 235 | 238 | 2 | |
| IconButton | mount | 1110 | 1143 | 5000 | |
| Label | mount | 342 | 341 | 5000 | |
| Layer | mount | 2731 | 2760 | 5000 | |
| Link | mount | 389 | 395 | 5000 | |
| MenuButton | mount | 983 | 971 | 5000 | |
| MessageBar | mount | 21183 | 21191 | 5000 | |
| Nav | mount | 2027 | 2072 | 1000 | |
| OverflowSet | mount | 784 | 781 | 5000 | |
| Panel | mount | 1924 | 1837 | 1000 | |
| Persona | mount | 771 | 761 | 1000 | |
| Pivot | mount | 910 | 891 | 1000 | |
| PrimaryButton | mount | 923 | 943 | 5000 | |
| Rating | mount | 4722 | 4686 | 5000 | |
| SearchBox | mount | 927 | 965 | 5000 | |
| Shimmer | mount | 1904 | 1901 | 5000 | |
| Slider | mount | 1368 | 1330 | 5000 | |
| SpinButton | mount | 3017 | 2935 | 5000 | |
| Spinner | mount | 394 | 380 | 5000 | |
| SplitButton | mount | 1886 | 1893 | 5000 | |
| Stack | mount | 427 | 432 | 5000 | |
| StackWithIntrinsicChildren | mount | 854 | 867 | 5000 | |
| StackWithTextChildren | mount | 2815 | 2754 | 5000 | |
| SwatchColorPicker | mount | 6492 | 6322 | 5000 | |
| TagPicker | mount | 1493 | 1473 | 5000 | |
| Text | mount | 396 | 385 | 5000 | |
| TextField | mount | 970 | 949 | 5000 | |
| ThemeProvider | mount | 863 | 866 | 5000 | |
| ThemeProvider | virtual-rerender | 575 | 571 | 5000 | |
| ThemeProvider | virtual-rerender-with-unmount | 1283 | 1302 | 5000 | |
| Toggle | mount | 614 | 619 | 5000 | |
| buttonNative | mount | 195 | 198 | 5000 |