Skip to content
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

feat(eslint-rules): implement no-restricted-globals type-aware rule #32862

Merged
merged 4 commits into from
Oct 3, 2024

Conversation

Hotell
Copy link
Contributor

@Hotell Hotell commented Sep 18, 2024

Previous Behavior

New Behavior

  • Implements type aware no-restriced-globals as part of workspace eslint-rules package
  • adds globals package to monorepo explicit devDeps

Before:

eslint no-restricted-globals:

image

After:

our custom type-aware no-restricted-globals:

image

Related Issue(s)

@Hotell Hotell changed the title Eslint rules/no restricted globals feat(eslint-rules): implement no-restricted-globals type-aware rule Sep 18, 2024
@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

🕵 fluentui-web-components-v3 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

🕵 FluentUIV0 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

📊 Bundle size report

✅ No changes found

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 630 649 5000
Button mount 305 312 5000
Field mount 1143 1101 5000
FluentProvider mount 692 695 5000
FluentProviderWithTheme mount 83 90 10
FluentProviderWithTheme virtual-rerender 39 35 10
FluentProviderWithTheme virtual-rerender-with-unmount 83 76 10
MakeStyles mount 873 856 50000
Persona mount 1778 1696 5000
SpinButton mount 1444 1394 5000
SwatchPicker mount 1691 1689 5000

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

Perf Analysis (@fluentui/react-northstar)

⚠️ 1 potential perf regressions detected

Potential regressions comparing to master

Scenario Current PR Ticks Baseline Ticks Ratio Regression Analysis
AccordionMinimalPerf.default 85 89 0.96:1 analysis
Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
TreeWith60ListItems.default 98 81 1.21:1
AvatarMinimalPerf.default 119 103 1.16:1
CarouselMinimalPerf.default 286 249 1.15:1
ImageMinimalPerf.default 237 207 1.14:1
PortalMinimalPerf.default 98 86 1.14:1
SkeletonMinimalPerf.default 219 197 1.11:1
FormMinimalPerf.default 237 219 1.08:1
DropdownManyItemsPerf.default 406 379 1.07:1
RefMinimalPerf.default 116 108 1.07:1
AttachmentMinimalPerf.default 88 83 1.06:1
ChatWithPopoverPerf.default 207 195 1.06:1
LayoutMinimalPerf.default 215 202 1.06:1
LoaderMinimalPerf.default 193 182 1.06:1
ItemLayoutMinimalPerf.default 732 695 1.05:1
ListMinimalPerf.default 325 310 1.05:1
IconMinimalPerf.default 387 368 1.05:1
TextAreaMinimalPerf.default 293 279 1.05:1
AttachmentSlotsPerf.default 662 639 1.04:1
ChatDuplicateMessagesPerf.default 151 146 1.03:1
HeaderSlotsPerf.default 481 465 1.03:1
ListNestedPerf.default 326 317 1.03:1
ProviderMinimalPerf.default 208 201 1.03:1
SegmentMinimalPerf.default 198 192 1.03:1
TextMinimalPerf.default 198 193 1.03:1
ToolbarMinimalPerf.default 563 547 1.03:1
TooltipMinimalPerf.default 1307 1268 1.03:1
BoxMinimalPerf.default 200 196 1.02:1
ButtonOverridesMissPerf.default 654 643 1.02:1
EmbedMinimalPerf.default 1883 1855 1.02:1
ProviderMergeThemesPerf.default 655 640 1.02:1
TreeMinimalPerf.default 488 478 1.02:1
AnimationMinimalPerf.default 306 302 1.01:1
DialogMinimalPerf.default 445 439 1.01:1
FlexMinimalPerf.default 153 151 1.01:1
InputMinimalPerf.default 547 539 1.01:1
MenuMinimalPerf.default 517 510 1.01:1
MenuButtonMinimalPerf.default 944 932 1.01:1
PopupMinimalPerf.default 351 349 1.01:1
SliderMinimalPerf.default 749 739 1.01:1
CheckboxMinimalPerf.default 1150 1150 1:1
DividerMinimalPerf.default 214 213 1:1
DropdownMinimalPerf.default 1417 1415 1:1
LabelMinimalPerf.default 217 216 1:1
RadioGroupMinimalPerf.default 256 256 1:1
ReactionMinimalPerf.default 212 212 1:1
CustomToolbarPrototype.default 1475 1469 1:1
DatepickerMinimalPerf.default 3641 3684 0.99:1
ListWith60ListItems.default 368 372 0.99:1
SplitButtonMinimalPerf.default 2236 2253 0.99:1
TableManyItemsPerf.default 1091 1107 0.99:1
VideoMinimalPerf.default 434 439 0.99:1
ButtonMinimalPerf.default 86 88 0.98:1
ChatMinimalPerf.default 434 445 0.98:1
HeaderMinimalPerf.default 198 203 0.98:1
RosterPerf.default 1583 1608 0.98:1
CardMinimalPerf.default 303 312 0.97:1
TableMinimalPerf.default 226 234 0.97:1
AlertMinimalPerf.default 157 164 0.96:1
ButtonSlotsPerf.default 304 318 0.96:1
GridMinimalPerf.default 185 193 0.96:1
ListCommonPerf.default 384 399 0.96:1
StatusMinimalPerf.default 371 398 0.93:1

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 635 620 5000
Breadcrumb mount 1706 1725 1000
Checkbox mount 1707 1718 5000
CheckboxBase mount 1466 1490 5000
ChoiceGroup mount 2947 2982 5000
ComboBox mount 695 668 1000
CommandBar mount 6621 6672 1000
ContextualMenu mount 12711 12728 1000
DefaultButton mount 786 792 5000
DetailsRow mount 2188 2229 5000
DetailsRowFast mount 2236 2218 5000
DetailsRowNoStyles mount 2087 2009 5000
Dialog mount 2801 2745 1000
DocumentCardTitle mount 233 231 1000
Dropdown mount 1997 2041 5000
FocusTrapZone mount 1162 1165 5000
FocusZone mount 1097 1092 5000
GroupedList mount 42347 42241 2
GroupedList virtual-rerender 19960 20401 2
GroupedList virtual-rerender-with-unmount 51947 52142 2
GroupedListV2 mount 230 230 2
GroupedListV2 virtual-rerender 219 223 2
GroupedListV2 virtual-rerender-with-unmount 224 230 2
IconButton mount 1141 1144 5000
Label mount 346 346 5000
Layer mount 2722 2686 5000
Link mount 406 399 5000
MenuButton mount 1013 980 5000
MessageBar mount 21497 21404 5000
Nav mount 2047 2081 1000
OverflowSet mount 802 780 5000
Panel mount 1869 1794 1000
Persona mount 737 755 1000
Pivot mount 914 907 1000
PrimaryButton mount 952 934 5000
Rating mount 4750 4714 5000
SearchBox mount 919 927 5000
Shimmer mount 1930 1874 5000
Slider mount 1303 1344 5000
SpinButton mount 2981 2926 5000
Spinner mount 391 379 5000
SplitButton mount 1886 1893 5000
Stack mount 426 429 5000
StackWithIntrinsicChildren mount 887 856 5000
StackWithTextChildren mount 2748 2788 5000
SwatchColorPicker mount 6317 6361 5000
TagPicker mount 1436 1457 5000
Text mount 392 397 5000
TextField mount 969 928 5000
ThemeProvider mount 860 875 5000
ThemeProvider virtual-rerender 600 586 5000
ThemeProvider virtual-rerender-with-unmount 1289 1296 5000
Toggle mount 624 635 5000
buttonNative mount 190 192 5000

@Hotell Hotell changed the title feat(eslint-rules): implement no-restricted-globals type-aware rule feat(eslint-rules): implement no-restricted-globals type-aware rule Sep 19, 2024
@Hotell Hotell force-pushed the eslint-rules/no-restricted-globals branch from 86dd65e to 71dbd55 Compare September 24, 2024 09:08
@Hotell Hotell force-pushed the eslint-rules/no-restricted-globals branch from 71dbd55 to 5f69005 Compare October 1, 2024 15:18
@fabricteam
Copy link
Collaborator

🕵 fluentuiv8 No visual regressions between this PR and main

@Hotell Hotell marked this pull request as ready for review October 1, 2024 16:23
@Hotell Hotell requested a review from a team as a code owner October 1, 2024 16:23
@Hotell Hotell merged commit 9636aa9 into microsoft:master Oct 3, 2024
23 checks passed
@Hotell Hotell deleted the eslint-rules/no-restricted-globals branch October 3, 2024 14:12
mltejera pushed a commit to mltejera/office-ui-fabric-react that referenced this pull request Oct 3, 2024
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