Skip to content

feat(workspace-plugin): add eslint-rule generator#30336

Merged
Hotell merged 1 commit intomicrosoft:masterfrom
Hotell:nx/workspace-eslint/2
Jan 18, 2024
Merged

feat(workspace-plugin): add eslint-rule generator#30336
Hotell merged 1 commit intomicrosoft:masterfrom
Hotell:nx/workspace-eslint/2

Conversation

@Hotell
Copy link
Contributor

@Hotell Hotell commented Jan 17, 2024

New Behavior

new generator to add new lint rule to workspace eslint-rules

npx nx g @fluentui/workspace-plugin:eslint-rule

Related Issue(s)

@fabricteam
Copy link
Collaborator

Perf Analysis (@fluentui/react-components)

Scenario Render type Master Ticks PR Ticks Iterations Status
FluentProviderWithTheme mount 77 82 10 Possible regression
FluentProviderWithTheme virtual-rerender 59 63 10 Possible regression
All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 649 622 5000
Button mount 300 295 5000
Field mount 1166 1166 5000
FluentProvider mount 697 688 5000
FluentProviderWithTheme mount 77 82 10 Possible regression
FluentProviderWithTheme virtual-rerender 59 63 10 Possible regression
FluentProviderWithTheme virtual-rerender-with-unmount 72 83 10
MakeStyles mount 858 867 50000
Persona mount 1725 1711 5000
SpinButton mount 1352 1361 5000

@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 19d72ac:

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

@fabricteam
Copy link
Collaborator

🕵 fluentuiv8 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
AccordionMinimalPerf.default 85 73 1.16:1
ButtonMinimalPerf.default 91 82 1.11:1
TreeWith60ListItems.default 89 82 1.09:1
AttachmentMinimalPerf.default 85 79 1.08:1
HeaderSlotsPerf.default 481 444 1.08:1
TableMinimalPerf.default 243 229 1.06:1
BoxMinimalPerf.default 199 190 1.05:1
AlertMinimalPerf.default 166 159 1.04:1
ChatMinimalPerf.default 438 423 1.04:1
ChatWithPopoverPerf.default 197 190 1.04:1
GridMinimalPerf.default 196 189 1.04:1
LayoutMinimalPerf.default 200 192 1.04:1
SliderMinimalPerf.default 770 741 1.04:1
ToolbarMinimalPerf.default 553 530 1.04:1
ButtonSlotsPerf.default 318 308 1.03:1
DividerMinimalPerf.default 204 199 1.03:1
DropdownMinimalPerf.default 1453 1409 1.03:1
HeaderMinimalPerf.default 212 205 1.03:1
ListNestedPerf.default 322 313 1.03:1
SegmentMinimalPerf.default 194 189 1.03:1
TextMinimalPerf.default 199 194 1.03:1
CardMinimalPerf.default 305 298 1.02:1
DropdownManyItemsPerf.default 394 385 1.02:1
ListMinimalPerf.default 309 303 1.02:1
MenuMinimalPerf.default 493 483 1.02:1
SkeletonMinimalPerf.default 193 190 1.02:1
TooltipMinimalPerf.default 1288 1264 1.02:1
ButtonOverridesMissPerf.default 643 635 1.01:1
FormMinimalPerf.default 221 218 1.01:1
PortalMinimalPerf.default 84 83 1.01:1
ReactionMinimalPerf.default 208 206 1.01:1
IconMinimalPerf.default 413 409 1.01:1
TableManyItemsPerf.default 1101 1093 1.01:1
AnimationMinimalPerf.default 301 300 1:1
DatepickerMinimalPerf.default 3579 3581 1:1
DialogMinimalPerf.default 439 437 1:1
EmbedMinimalPerf.default 1869 1868 1:1
ListWith60ListItems.default 369 369 1:1
PopupMinimalPerf.default 344 344 1:1
RadioGroupMinimalPerf.default 257 256 1:1
CustomToolbarPrototype.default 1446 1439 1:1
TreeMinimalPerf.default 476 477 1:1
VideoMinimalPerf.default 433 433 1:1
AttachmentSlotsPerf.default 626 632 0.99:1
LabelMinimalPerf.default 210 213 0.99:1
LoaderMinimalPerf.default 192 194 0.99:1
RosterPerf.default 1563 1581 0.99:1
ProviderMinimalPerf.default 195 196 0.99:1
SplitButtonMinimalPerf.default 2247 2273 0.99:1
StatusMinimalPerf.default 382 384 0.99:1
TextAreaMinimalPerf.default 280 282 0.99:1
CheckboxMinimalPerf.default 1141 1163 0.98:1
ImageMinimalPerf.default 217 222 0.98:1
ListCommonPerf.default 381 390 0.98:1
ProviderMergeThemesPerf.default 633 645 0.98:1
RefMinimalPerf.default 107 109 0.98:1
FlexMinimalPerf.default 152 156 0.97:1
ItemLayoutMinimalPerf.default 695 714 0.97:1
AvatarMinimalPerf.default 106 110 0.96:1
InputMinimalPerf.default 517 537 0.96:1
MenuButtonMinimalPerf.default 943 983 0.96:1
ChatDuplicateMessagesPerf.default 148 155 0.95:1
CarouselMinimalPerf.default 250 266 0.94:1

@fabricteam
Copy link
Collaborator

🕵 FluentUIV0 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

📊 Bundle size report

Unchanged fixtures
Package & Exports Size (minified/GZIP)
global-context
createContext
510 B
328 B
global-context
createContextSelector
537 B
339 B
priority-overflow
createOverflowManager
4.447 kB
1.853 kB
react-accordion
Accordion (including children components)
93.962 kB
28.706 kB
react-alert
Alert
83.737 kB
23.474 kB
react-avatar
Avatar
50.175 kB
15.944 kB
react-avatar
AvatarGroup
19.704 kB
7.796 kB
react-avatar
AvatarGroupItem
64.831 kB
20.274 kB
react-badge
Badge
26.905 kB
8.729 kB
react-badge
CounterBadge
27.806 kB
9.024 kB
react-badge
PresenceBadge
25.311 kB
9.306 kB
react-button
Button
39.513 kB
11.169 kB
react-button
CompoundButton
46.874 kB
12.661 kB
react-button
MenuButton
44.292 kB
12.542 kB
react-button
SplitButton
52.306 kB
14.134 kB
react-button
ToggleButton
56.559 kB
13.068 kB
react-calendar-compat
Calendar Compat
142.236 kB
37.172 kB
react-card
Card - All
94.653 kB
27.242 kB
react-card
Card
89.477 kB
25.731 kB
react-card
CardFooter
13.064 kB
5.385 kB
react-card
CardHeader
15.307 kB
6.143 kB
react-card
CardPreview
14.015 kB
5.752 kB
react-checkbox
Checkbox
34.746 kB
11.902 kB
react-combobox
Combobox (including child components)
97.318 kB
31.442 kB
react-combobox
Dropdown (including child components)
98.511 kB
31.431 kB
react-components
react-components: Button, FluentProvider & webLightTheme
69.901 kB
20.261 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
210.494 kB
60.055 kB
react-components
react-components: FluentProvider & webLightTheme
42.388 kB
14.103 kB
react-datepicker-compat
DatePicker Compat
214.065 kB
60.087 kB
react-dialog
Dialog (including children components)
95.522 kB
28.482 kB
react-divider
Divider
20.82 kB
7.763 kB
react-field
Field
22.427 kB
8.573 kB
react-image
Image
15.736 kB
6.228 kB
react-infobutton
InfoButton
132.952 kB
41.844 kB
react-infobutton
InfoLabel
136.64 kB
42.986 kB
react-input
Input
26.887 kB
9.118 kB
react-jsx-runtime
Classic Pragma
1.057 kB
530 B
react-jsx-runtime
JSX Dev Runtime
3.783 kB
1.648 kB
react-jsx-runtime
JSX Runtime
4.377 kB
1.881 kB
react-label
Label
14.149 kB
5.759 kB
react-link
Link
17.082 kB
6.911 kB
react-menu
Menu (including children components)
142.794 kB
43.72 kB
react-menu
Menu (including selectable components)
145.48 kB
44.227 kB
react-message-bar
MessageBar (all components)
25.181 kB
9.039 kB
react-overflow
hooks only
12.837 kB
4.818 kB
react-persona
Persona
57.066 kB
17.821 kB
react-popover
Popover
121.146 kB
38.235 kB
react-portal
Portal
12.788 kB
4.67 kB
react-portal-compat
PortalCompatProvider
7.099 kB
2.385 kB
react-positioning
usePositioning
26.162 kB
9.465 kB
react-progress
ProgressBar
17.428 kB
6.898 kB
react-provider
FluentProvider
22.928 kB
8.472 kB
react-radio
Radio
32.042 kB
10.046 kB
react-radio
RadioGroup
15.345 kB
6.263 kB
react-select
Select
28.609 kB
10.205 kB
react-slider
Slider
39.15 kB
12.769 kB
react-spinbutton
SpinButton
36.774 kB
11.788 kB
react-spinner
Spinner
23.402 kB
8.467 kB
react-switch
Switch
34.23 kB
10.995 kB
react-table
DataGrid
157.363 kB
43.948 kB
react-table
Table (Primitives only)
44.493 kB
13.921 kB
react-table
Table as DataGrid
130.321 kB
35.173 kB
react-table
Table (Selection only)
75.365 kB
20.367 kB
react-table
Table (Sort only)
74.031 kB
19.976 kB
react-tags
InteractionTag
15.259 kB
6.058 kB
react-tags
Tag
29.982 kB
9.439 kB
react-tags
TagGroup
74.404 kB
22.31 kB
react-text
Text - Default
16.705 kB
6.569 kB
react-text
Text - Wrappers
19.878 kB
6.896 kB
react-textarea
Textarea
30.947 kB
10.476 kB
react-theme
Single theme token import
69 B
89 B
react-theme
Teams: all themes
34.616 kB
7.317 kB
react-theme
Teams: Light theme
19.287 kB
5.498 kB
react-timepicker-compat
TimePicker
99.152 kB
32.873 kB
react-toast
Toast (including Toaster)
93.274 kB
28.044 kB
react-tooltip
Tooltip
53.515 kB
18.907 kB
react-utilities
SSRProvider
180 B
160 B
🤖 This report was generated against b56e712bb5eb830c2b9e3150a399cd7bb4be972a

@size-auditor
Copy link

size-auditor bot commented Jan 17, 2024

Asset size changes

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

Baseline commit: b56e712bb5eb830c2b9e3150a399cd7bb4be972a (build)

@fabricteam
Copy link
Collaborator

🕵 fluentuiv9 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 631 645 5000
Breadcrumb mount 1696 1693 1000
Checkbox mount 1694 1710 5000
CheckboxBase mount 1503 1479 5000
ChoiceGroup mount 2980 2963 5000
ComboBox mount 653 681 1000
CommandBar mount 6426 6379 1000
ContextualMenu mount 13584 13277 1000
DefaultButton mount 744 758 5000
DetailsRow mount 2165 2239 5000
DetailsRowFast mount 2207 2231 5000
DetailsRowNoStyles mount 2022 2044 5000
Dialog mount 2680 2656 1000
DocumentCardTitle mount 220 224 1000
Dropdown mount 2028 2026 5000
FocusTrapZone mount 1155 1178 5000
FocusZone mount 1103 1063 5000
GroupedList mount 42173 42390 2
GroupedList virtual-rerender 18016 20219 2
GroupedList virtual-rerender-with-unmount 50895 50992 2
GroupedListV2 mount 225 226 2
GroupedListV2 virtual-rerender 216 227 2
GroupedListV2 virtual-rerender-with-unmount 219 230 2
IconButton mount 1083 1125 5000
Label mount 326 341 5000
Layer mount 2746 2708 5000
Link mount 382 396 5000
MenuButton mount 972 956 5000
MessageBar mount 22204 22342 5000
Nav mount 1980 1947 1000
OverflowSet mount 811 779 5000
Panel mount 2075 1775 1000
Persona mount 730 747 1000
Pivot mount 883 881 1000
PrimaryButton mount 851 866 5000
Rating mount 4698 4655 5000
SearchBox mount 919 946 5000
Shimmer mount 1886 1891 5000
Slider mount 1346 1353 5000
SpinButton mount 2926 2905 5000
Spinner mount 386 380 5000
SplitButton mount 1885 1825 5000
Stack mount 408 408 5000
StackWithIntrinsicChildren mount 878 872 5000
StackWithTextChildren mount 2598 2626 5000
SwatchColorPicker mount 6204 6230 5000
TagPicker mount 1523 1476 5000
Text mount 376 383 5000
TextField mount 909 943 5000
ThemeProvider mount 822 826 5000
ThemeProvider virtual-rerender 584 585 5000
ThemeProvider virtual-rerender-with-unmount 1266 1254 5000
Toggle mount 610 609 5000
buttonNative mount 183 194 5000

@Hotell Hotell marked this pull request as ready for review January 17, 2024 11:26
@Hotell Hotell requested a review from a team as a code owner January 17, 2024 11:26
@tudorpopams tudorpopams self-requested a review January 17, 2024 13:10
@Hotell Hotell merged commit 553fa39 into microsoft:master Jan 18, 2024
@Hotell Hotell deleted the nx/workspace-eslint/2 branch January 18, 2024 16:13
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.

3 participants