-
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
BREAKING(react-conformance): update consistent-callback-args option to run for existing callbacks only #30376
Conversation
📊 Bundle size reportUnchanged fixtures
|
Perf Analysis (
|
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
Avatar | mount | 642 | 626 | 5000 | |
Button | mount | 291 | 313 | 5000 | |
Field | mount | 1158 | 1142 | 5000 | |
FluentProvider | mount | 703 | 685 | 5000 | |
FluentProviderWithTheme | mount | 81 | 88 | 10 | |
FluentProviderWithTheme | virtual-rerender | 57 | 62 | 10 | |
FluentProviderWithTheme | virtual-rerender-with-unmount | 75 | 79 | 10 | |
MakeStyles | mount | 862 | 836 | 50000 | |
Persona | mount | 1748 | 1744 | 5000 | |
SpinButton | mount | 1360 | 1332 | 5000 |
Perf Analysis (
|
Scenario | Current PR Ticks | Baseline Ticks | Ratio |
---|---|---|---|
TreeWith60ListItems.default | 94 | 80 | 1.18:1 |
FormMinimalPerf.default | 238 | 212 | 1.12:1 |
ListCommonPerf.default | 422 | 387 | 1.09:1 |
ButtonMinimalPerf.default | 91 | 84 | 1.08:1 |
DividerMinimalPerf.default | 211 | 196 | 1.08:1 |
ProviderMinimalPerf.default | 210 | 195 | 1.08:1 |
ImageMinimalPerf.default | 236 | 221 | 1.07:1 |
ChatMinimalPerf.default | 448 | 424 | 1.06:1 |
FlexMinimalPerf.default | 166 | 156 | 1.06:1 |
GridMinimalPerf.default | 192 | 181 | 1.06:1 |
LabelMinimalPerf.default | 230 | 216 | 1.06:1 |
MenuMinimalPerf.default | 516 | 487 | 1.06:1 |
MenuButtonMinimalPerf.default | 988 | 934 | 1.06:1 |
ReactionMinimalPerf.default | 221 | 208 | 1.06:1 |
AvatarMinimalPerf.default | 110 | 105 | 1.05:1 |
ChatWithPopoverPerf.default | 199 | 189 | 1.05:1 |
RadioGroupMinimalPerf.default | 262 | 249 | 1.05:1 |
CarouselMinimalPerf.default | 275 | 265 | 1.04:1 |
DropdownManyItemsPerf.default | 423 | 406 | 1.04:1 |
HeaderSlotsPerf.default | 465 | 448 | 1.04:1 |
InputMinimalPerf.default | 542 | 519 | 1.04:1 |
ListMinimalPerf.default | 318 | 307 | 1.04:1 |
ListNestedPerf.default | 329 | 317 | 1.04:1 |
TreeMinimalPerf.default | 493 | 476 | 1.04:1 |
CheckboxMinimalPerf.default | 1160 | 1129 | 1.03:1 |
PopupMinimalPerf.default | 359 | 347 | 1.03:1 |
SegmentMinimalPerf.default | 197 | 191 | 1.03:1 |
ToolbarMinimalPerf.default | 548 | 533 | 1.03:1 |
DatepickerMinimalPerf.default | 3681 | 3603 | 1.02:1 |
ItemLayoutMinimalPerf.default | 720 | 705 | 1.02:1 |
LayoutMinimalPerf.default | 199 | 196 | 1.02:1 |
RosterPerf.default | 1606 | 1571 | 1.02:1 |
SplitButtonMinimalPerf.default | 2263 | 2223 | 1.02:1 |
TableMinimalPerf.default | 233 | 228 | 1.02:1 |
AnimationMinimalPerf.default | 302 | 298 | 1.01:1 |
ChatDuplicateMessagesPerf.default | 153 | 151 | 1.01:1 |
DialogMinimalPerf.default | 440 | 434 | 1.01:1 |
ProviderMergeThemesPerf.default | 649 | 643 | 1.01:1 |
SliderMinimalPerf.default | 744 | 737 | 1.01:1 |
TooltipMinimalPerf.default | 1267 | 1251 | 1.01:1 |
AttachmentSlotsPerf.default | 646 | 649 | 1:1 |
ButtonOverridesMissPerf.default | 634 | 636 | 1:1 |
PortalMinimalPerf.default | 88 | 88 | 1:1 |
RefMinimalPerf.default | 111 | 111 | 1:1 |
TableManyItemsPerf.default | 1101 | 1104 | 1:1 |
CustomToolbarPrototype.default | 1505 | 1511 | 1:1 |
AccordionMinimalPerf.default | 80 | 81 | 0.99:1 |
AlertMinimalPerf.default | 156 | 158 | 0.99:1 |
AttachmentMinimalPerf.default | 80 | 81 | 0.99:1 |
DropdownMinimalPerf.default | 1428 | 1437 | 0.99:1 |
EmbedMinimalPerf.default | 1857 | 1882 | 0.99:1 |
SkeletonMinimalPerf.default | 197 | 199 | 0.99:1 |
StatusMinimalPerf.default | 395 | 397 | 0.99:1 |
IconMinimalPerf.default | 376 | 378 | 0.99:1 |
TextMinimalPerf.default | 194 | 195 | 0.99:1 |
TextAreaMinimalPerf.default | 276 | 279 | 0.99:1 |
ButtonSlotsPerf.default | 296 | 304 | 0.97:1 |
CardMinimalPerf.default | 301 | 310 | 0.97:1 |
HeaderMinimalPerf.default | 201 | 208 | 0.97:1 |
VideoMinimalPerf.default | 423 | 434 | 0.97:1 |
BoxMinimalPerf.default | 193 | 201 | 0.96:1 |
ListWith60ListItems.default | 367 | 384 | 0.96:1 |
LoaderMinimalPerf.default | 182 | 192 | 0.95:1 |
🕵 fluentuiv8 No visual regressions between this PR and main |
🕵 FluentUIV0 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 | 611 | 649 | 5000 | |
Breadcrumb | mount | 1653 | 1691 | 1000 | |
Checkbox | mount | 1683 | 1694 | 5000 | |
CheckboxBase | mount | 1485 | 1480 | 5000 | |
ChoiceGroup | mount | 2948 | 2987 | 5000 | |
ComboBox | mount | 659 | 637 | 1000 | |
CommandBar | mount | 6191 | 6249 | 1000 | |
ContextualMenu | mount | 12341 | 12367 | 1000 | |
DefaultButton | mount | 761 | 782 | 5000 | |
DetailsRow | mount | 2177 | 2235 | 5000 | |
DetailsRowFast | mount | 2207 | 2181 | 5000 | |
DetailsRowNoStyles | mount | 2024 | 1997 | 5000 | |
Dialog | mount | 2677 | 2702 | 1000 | |
DocumentCardTitle | mount | 224 | 234 | 1000 | |
Dropdown | mount | 2026 | 2015 | 5000 | |
FocusTrapZone | mount | 1114 | 1150 | 5000 | |
FocusZone | mount | 1078 | 1080 | 5000 | |
GroupedList | mount | 41661 | 41681 | 2 | |
GroupedList | virtual-rerender | 20004 | 19862 | 2 | |
GroupedList | virtual-rerender-with-unmount | 50738 | 50309 | 2 | |
GroupedListV2 | mount | 223 | 216 | 2 | |
GroupedListV2 | virtual-rerender | 199 | 214 | 2 | |
GroupedListV2 | virtual-rerender-with-unmount | 231 | 231 | 2 | |
IconButton | mount | 1073 | 1090 | 5000 | |
Label | mount | 335 | 336 | 5000 | |
Layer | mount | 2779 | 2697 | 5000 | |
Link | mount | 381 | 387 | 5000 | |
MenuButton | mount | 940 | 934 | 5000 | |
MessageBar | mount | 21439 | 21514 | 5000 | |
Nav | mount | 2002 | 1939 | 1000 | |
OverflowSet | mount | 799 | 790 | 5000 | |
Panel | mount | 1834 | 1765 | 1000 | |
Persona | mount | 753 | 767 | 1000 | |
Pivot | mount | 870 | 864 | 1000 | |
PrimaryButton | mount | 853 | 829 | 5000 | |
Rating | mount | 4633 | 4595 | 5000 | |
SearchBox | mount | 897 | 913 | 5000 | |
Shimmer | mount | 1898 | 1834 | 5000 | |
Slider | mount | 1300 | 1328 | 5000 | |
SpinButton | mount | 2878 | 2925 | 5000 | |
Spinner | mount | 377 | 388 | 5000 | |
SplitButton | mount | 1855 | 1859 | 5000 | |
Stack | mount | 404 | 418 | 5000 | |
StackWithIntrinsicChildren | mount | 833 | 868 | 5000 | |
StackWithTextChildren | mount | 2616 | 2592 | 5000 | |
SwatchColorPicker | mount | 6065 | 6156 | 5000 | |
TagPicker | mount | 1476 | 1443 | 5000 | |
Text | mount | 370 | 382 | 5000 | |
TextField | mount | 951 | 924 | 5000 | |
ThemeProvider | mount | 843 | 832 | 5000 | |
ThemeProvider | virtual-rerender | 586 | 586 | 5000 | |
ThemeProvider | virtual-rerender-with-unmount | 1280 | 1279 | 5000 | |
Toggle | mount | 602 | 612 | 5000 | |
buttonNative | mount | 198 | 186 | 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 e41a1f9:
|
Asset size changesSize Auditor did not detect a change in bundle size for any component! Baseline commit: be3a3d59d5c30f75d55c739548d576594ddf5c53 (build) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is great thank you !
we can make this even better. this rule is the last rule that needs to create TS program when running these conformance test which is extremely slow.
next steps would be:
- migrate this logic to our workspace lint rules
- remove this rule from conformance package
this has 2 major benefits:
- performance of tests
- improved DX in comparison with current approach. lint rule can be then enabled directly in source code for problematic callbacks, for fine grained control and getting rid of unnecessary decoupling of concerns
Co-authored-by: Ben Howell <[email protected]>
Yeah it would be so great to remove this rule and not build ts program at all! Let's continue the discussion under this issue? #30372 (comment) |
Change
consistent-callback-args
test option:Previous Behavior
New Behavior
Why this change
We agreed on new event type for v9 callbacks (detailed proposal). Based on this, we're deprecating the existing consistent-callback-args test (#30301), and running it only for the existing callbacks in v9 since we can't change them.
Related issue
#30372