Skip to content

Conversation

@layershifter
Copy link
Member

Related Issue(s)

Fixes #25030.

New Behavior

This PR enables object-shorthand rule in our ESLint config for v9 which is currently disabled:

'object-shorthand': 'off',

What it does?

Rule enforces shorthands (that is ES6 feature) to be consistent across codebase:

const foo = {
    x: x,
    y: y,
    z: z,
};
// ⬇️⬇️⬇️
const foo = {x, y, z};

Why warn?

This rule does handle a real code issue, it's features more a formatting. However, as the rule has autofix - issues will be automatically fixed by precommit hooks 💪

@size-auditor
Copy link

size-auditor bot commented Sep 30, 2022

Asset size changes

Size Auditor did not detect a change in bundle size for any component!

Baseline commit: d8219051250909d31767845375b6e1ed6a053856 (build)

@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.

Latest deployment of this branch, based on commit 4d140b3:

Sandbox Source
@fluentui/react 8 starter Configuration
@fluentui/react-components 9 starter Configuration

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 30, 2022

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 1178 1232 5000
Button mount 936 901 5000
FluentProvider mount 1554 1450 5000
FluentProviderWithTheme mount 559 640 10
FluentProviderWithTheme virtual-rerender 589 595 10
FluentProviderWithTheme virtual-rerender-with-unmount 556 561 10
MakeStyles mount 1922 1884 50000
SpinButton mount 2419 2482 5000

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 30, 2022

📊 Bundle size report

Unchanged fixtures
Package & Exports Size (minified/GZIP)
global-context
createContext
533 B
341 B
global-context
createContextSelector
554 B
348 B
priority-overflow
createOverflowManager
2.936 kB
1.212 kB
react-accordion
Accordion (including children components)
79.037 kB
24.059 kB
react-alert
Alert
84.117 kB
21.07 kB
react-avatar
Avatar
48.828 kB
13.842 kB
react-avatar
AvatarGroup
14.95 kB
5.989 kB
react-avatar
AvatarGroupItem
68.796 kB
19.182 kB
react-badge
Badge
22.6 kB
7.205 kB
react-badge
CounterBadge
23.49 kB
7.489 kB
react-badge
PresenceBadge
24.05 kB
7.067 kB
react-button
Button
36.278 kB
9.636 kB
react-button
CompoundButton
43.303 kB
10.852 kB
react-button
MenuButton
38.972 kB
10.536 kB
react-button
SplitButton
46.418 kB
11.916 kB
react-button
ToggleButton
52.145 kB
11.108 kB
react-card
Card - All
67.17 kB
19.281 kB
react-card
Card
62.852 kB
18.198 kB
react-card
CardFooter
8.561 kB
3.601 kB
react-card
CardHeader
9.604 kB
3.94 kB
react-card
CardPreview
8.662 kB
3.656 kB
react-combobox
Combobox (including child components)
74.642 kB
24.19 kB
react-combobox
Dropdown (including child components)
74.242 kB
24.089 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
189.156 kB
52.385 kB
react-components
react-components: FluentProvider & webLightTheme
33.4 kB
11.008 kB
react-dialog
Dialog (including children components)
82.438 kB
24.444 kB
react-divider
Divider
16.459 kB
5.902 kB
react-image
Image
10.78 kB
4.264 kB
react-input
Input
23.762 kB
7.706 kB
react-label
Label
9.338 kB
3.86 kB
react-link
Link
11.806 kB
4.868 kB
react-menu
Menu (including children components)
116.718 kB
35.78 kB
react-menu
Menu (including selectable components)
119.787 kB
36.289 kB
react-overflow
hooks only
10.685 kB
4.104 kB
react-popover
Popover
102.929 kB
31.542 kB
react-portal
Portal
10.582 kB
3.875 kB
react-portal-compat
PortalCompatProvider
5.857 kB
1.978 kB
react-positioning
usePositioning
19.7 kB
7.404 kB
react-provider
FluentProvider
15.761 kB
5.885 kB
react-radio
Radio
36.39 kB
12.103 kB
react-radio
RadioGroup
14.248 kB
5.7 kB
react-select
Select
20.846 kB
7.346 kB
react-slider
Slider
31.759 kB
10.064 kB
react-spinbutton
SpinButton
44.102 kB
12.425 kB
react-spinner
Spinner
19.977 kB
6.438 kB
react-switch
Switch
33.743 kB
10.654 kB
react-text
Text - Default
11.782 kB
4.605 kB
react-text
Text - Wrappers
15.092 kB
5.044 kB
react-textarea
Textarea
25.018 kB
8.133 kB
react-theme
Single theme token import
69 B
89 B
react-theme
Teams: all themes
29.65 kB
6.444 kB
react-theme
Teams: Light theme
17.486 kB
5.057 kB
react-tooltip
Tooltip
41.541 kB
14.646 kB
react-utilities
SSRProvider
180 B
159 B
🤖 This report was generated against d8219051250909d31767845375b6e1ed6a053856

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 30, 2022

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
IconMinimalPerf.default 563 510 1.1:1
ButtonMinimalPerf.default 135 126 1.07:1
TextAreaMinimalPerf.default 402 377 1.07:1
RadioGroupMinimalPerf.default 369 349 1.06:1
ButtonSlotsPerf.default 459 438 1.05:1
HeaderMinimalPerf.default 302 288 1.05:1
RefMinimalPerf.default 184 176 1.05:1
AttachmentMinimalPerf.default 123 118 1.04:1
ListWith60ListItems.default 525 506 1.04:1
TableMinimalPerf.default 338 325 1.04:1
CarouselMinimalPerf.default 383 371 1.03:1
ChatWithPopoverPerf.default 291 283 1.03:1
DividerMinimalPerf.default 293 285 1.03:1
DropdownManyItemsPerf.default 559 542 1.03:1
FlexMinimalPerf.default 240 233 1.03:1
ImageMinimalPerf.default 326 318 1.03:1
LabelMinimalPerf.default 311 302 1.03:1
ListMinimalPerf.default 429 416 1.03:1
MenuMinimalPerf.default 710 690 1.03:1
AnimationMinimalPerf.default 448 438 1.02:1
ItemLayoutMinimalPerf.default 954 936 1.02:1
ListCommonPerf.default 520 510 1.02:1
MenuButtonMinimalPerf.default 1419 1397 1.02:1
SkeletonMinimalPerf.default 287 282 1.02:1
SliderMinimalPerf.default 1342 1316 1.02:1
StatusMinimalPerf.default 564 555 1.02:1
TooltipMinimalPerf.default 1939 1907 1.02:1
TreeMinimalPerf.default 693 679 1.02:1
AccordionMinimalPerf.default 117 116 1.01:1
AttachmentSlotsPerf.default 917 908 1.01:1
CardMinimalPerf.default 443 438 1.01:1
ChatMinimalPerf.default 606 599 1.01:1
CheckboxMinimalPerf.default 1736 1715 1.01:1
PopupMinimalPerf.default 533 527 1.01:1
SplitButtonMinimalPerf.default 3651 3629 1.01:1
CustomToolbarPrototype.default 2297 2278 1.01:1
VideoMinimalPerf.default 612 605 1.01:1
AvatarMinimalPerf.default 154 154 1:1
ButtonOverridesMissPerf.default 1083 1081 1:1
DatepickerMinimalPerf.default 4755 4744 1:1
DropdownMinimalPerf.default 2248 2237 1:1
EmbedMinimalPerf.default 3046 3041 1:1
GridMinimalPerf.default 273 272 1:1
HeaderSlotsPerf.default 626 628 1:1
ListNestedPerf.default 448 447 1:1
RosterPerf.default 1759 1767 1:1
PortalMinimalPerf.default 138 138 1:1
ProviderMinimalPerf.default 340 340 1:1
SegmentMinimalPerf.default 285 284 1:1
TableManyItemsPerf.default 1558 1556 1:1
ToolbarMinimalPerf.default 775 773 1:1
BoxMinimalPerf.default 272 276 0.99:1
ChatDuplicateMessagesPerf.default 210 213 0.99:1
DialogMinimalPerf.default 640 648 0.99:1
InputMinimalPerf.default 934 940 0.99:1
LayoutMinimalPerf.default 290 293 0.99:1
LoaderMinimalPerf.default 559 563 0.99:1
ReactionMinimalPerf.default 297 300 0.99:1
AlertMinimalPerf.default 212 216 0.98:1
ProviderMergeThemesPerf.default 1052 1069 0.98:1
TextMinimalPerf.default 278 283 0.98:1
FormMinimalPerf.default 301 310 0.97:1
TreeWith60ListItems.default 136 146 0.93:1

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 30, 2022

Perf Analysis (@fluentui/react)

Scenario Render type Master Ticks PR Ticks Iterations Status
Toggle mount 1981 1097 5000 Possible regression
All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 1103 1217 5000
Breadcrumb mount 2656 2934 1000
Checkbox mount 2609 2620 5000
CheckboxBase mount 2270 2232 5000
ChoiceGroup mount 4183 4380 5000
ComboBox mount 1176 1278 1000
CommandBar mount 9075 9349 1000
ContextualMenu mount 11005 10620 1000
DefaultButton mount 1406 1367 5000
DetailsRow mount 3527 3601 5000
DetailsRowFast mount 3485 3662 5000
DetailsRowNoStyles mount 3431 3419 5000
Dialog mount 2983 2993 1000
DocumentCardTitle mount 575 580 1000
Dropdown mount 3130 3203 5000
FocusTrapZone mount 1987 2030 5000
FocusZone mount 1867 1929 5000
GroupedList mount 51989 59689 2
GroupedList virtual-rerender 25666 24978 2
GroupedList virtual-rerender-with-unmount 93673 90576 2
GroupedListV2 mount 560 570 2
GroupedListV2 virtual-rerender 494 505 2
GroupedListV2 virtual-rerender-with-unmount 584 564 2
IconButton mount 1904 1935 5000
Label mount 718 735 5000
Layer mount 4273 4165 5000
Link mount 831 806 5000
MenuButton mount 1504 1698 5000
MessageBar mount 2321 2314 5000
Nav mount 3250 3182 1000
OverflowSet mount 1298 1364 5000
Panel mount 2562 2451 1000
Persona mount 1233 1282 1000
Pivot mount 1630 1653 1000
PrimaryButton mount 1496 1546 5000
Rating mount 6771 7038 5000
SearchBox mount 1498 1489 5000
Shimmer mount 2803 2721 5000
Slider mount 2085 2119 5000
SpinButton mount 4363 4478 5000
Spinner mount 789 784 5000
SplitButton mount 3099 2979 5000
Stack mount 817 831 5000
StackWithIntrinsicChildren mount 2230 2290 5000
StackWithTextChildren mount 4712 4722 5000
SwatchColorPicker mount 10062 10159 5000
TagPicker mount 2547 2516 5000
TeachingBubble mount 89014 89814 5000
Text mount 769 781 5000
TextField mount 1611 1615 5000
ThemeProvider mount 1524 1525 5000
ThemeProvider virtual-rerender 1083 1020 5000
ThemeProvider virtual-rerender-with-unmount 2144 2142 5000
Toggle mount 1981 1097 5000 Possible regression
buttonNative mount 531 556 5000

@layershifter layershifter marked this pull request as ready for review September 30, 2022 14:00
@layershifter layershifter requested a review from a team as a code owner September 30, 2022 14:00
@layershifter layershifter reopened this Sep 30, 2022
@layershifter layershifter merged commit 8e630de into microsoft:master Oct 3, 2022
@layershifter layershifter deleted the chore/enable-shorthand-objects branch October 3, 2022 08:37
GeoffCoxMSFT pushed a commit to GeoffCoxMSFT/fluentui that referenced this pull request Oct 3, 2022
NotWoods pushed a commit to NotWoods/fluentui that referenced this pull request Nov 18, 2022
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.

[Feature]: Enable object-shorthand in ESLint config

5 participants