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

chore: migrate to @typescript-eslint v5 #31517

Merged
merged 8 commits into from
Jun 5, 2024

Conversation

Hotell
Copy link
Contributor

@Hotell Hotell commented May 30, 2024

Previous Behavior

New Behavior

  • migrates to lates v5 of @typescript-eslint/* and removes @typescript-eslint/experimental-utils from monorepo
  • refactored usage of deprecated/non-supported @typescript-eslint/experimental-utils to @typescript-eslint/utils
  • improved type-safety in whole eslint-plugin package
  • simplified setup and generators for our workspace eslint-rules package
  • updated related lint packages to work together as expected

TS/ESLint api changes:

  • meta.docs.category doesn't exists
  • createRule has improved types so all test are now type-checked without additional dev overhead

Perf bench

yarn lage lint

Before (v4) After (v5)
9m 25s 9m 35s / 𝚫 -1% slowdown

Related Issue(s)

@github-actions github-actions bot added this to the April Project Cycle Q1 2024 milestone May 30, 2024
@Hotell Hotell added dependencies Pull requests that update a dependency file Area: Linting labels May 30, 2024
scripts/babel/src/index.js Outdated Show resolved Hide resolved
@fabricteam
Copy link
Collaborator

fabricteam commented May 30, 2024

Perf Analysis (@fluentui/react-components)

Scenario Render type Master Ticks PR Ticks Iterations Status
FluentProviderWithTheme virtual-rerender 35 34 10 Possible regression
All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 623 630 5000
Button mount 336 304 5000
Field mount 1102 1129 5000
FluentProvider mount 728 711 5000
FluentProviderWithTheme mount 87 94 10
FluentProviderWithTheme virtual-rerender 35 34 10 Possible regression
FluentProviderWithTheme virtual-rerender-with-unmount 69 73 10
MakeStyles mount 853 869 50000
Persona mount 1810 1703 5000
SpinButton mount 1383 1415 5000
SwatchPicker mount 1539 1578 5000

Copy link

codesandbox-ci bot commented May 30, 2024

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.

@fabricteam
Copy link
Collaborator

fabricteam commented May 30, 2024

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
AccordionMinimalPerf.default 93 78 1.19:1
AttachmentMinimalPerf.default 87 78 1.12:1
SegmentMinimalPerf.default 207 187 1.11:1
ButtonSlotsPerf.default 325 298 1.09:1
ChatDuplicateMessagesPerf.default 166 153 1.08:1
DividerMinimalPerf.default 219 204 1.07:1
FlexMinimalPerf.default 165 154 1.07:1
ChatWithPopoverPerf.default 207 195 1.06:1
RadioGroupMinimalPerf.default 277 264 1.05:1
SkeletonMinimalPerf.default 208 198 1.05:1
TableMinimalPerf.default 237 225 1.05:1
AlertMinimalPerf.default 162 156 1.04:1
AvatarMinimalPerf.default 109 105 1.04:1
CarouselMinimalPerf.default 263 253 1.04:1
HeaderSlotsPerf.default 483 466 1.04:1
InputMinimalPerf.default 543 522 1.04:1
RosterPerf.default 1612 1557 1.04:1
PopupMinimalPerf.default 359 346 1.04:1
ReactionMinimalPerf.default 217 209 1.04:1
SliderMinimalPerf.default 728 703 1.04:1
TooltipMinimalPerf.default 1312 1256 1.04:1
GridMinimalPerf.default 199 193 1.03:1
ImageMinimalPerf.default 234 227 1.03:1
ProviderMergeThemesPerf.default 655 639 1.03:1
TextAreaMinimalPerf.default 285 278 1.03:1
TreeWith60ListItems.default 90 87 1.03:1
AnimationMinimalPerf.default 300 295 1.02:1
CheckboxMinimalPerf.default 1160 1139 1.02:1
LabelMinimalPerf.default 223 219 1.02:1
ListNestedPerf.default 334 328 1.02:1
LoaderMinimalPerf.default 202 198 1.02:1
StatusMinimalPerf.default 401 393 1.02:1
AttachmentSlotsPerf.default 644 638 1.01:1
CardMinimalPerf.default 308 304 1.01:1
DatepickerMinimalPerf.default 3645 3597 1.01:1
DropdownMinimalPerf.default 1435 1415 1.01:1
EmbedMinimalPerf.default 1900 1879 1.01:1
HeaderMinimalPerf.default 207 205 1.01:1
ItemLayoutMinimalPerf.default 724 716 1.01:1
LayoutMinimalPerf.default 197 196 1.01:1
ListWith60ListItems.default 366 361 1.01:1
PortalMinimalPerf.default 88 87 1.01:1
ProviderMinimalPerf.default 202 200 1.01:1
SplitButtonMinimalPerf.default 2280 2258 1.01:1
TextMinimalPerf.default 195 193 1.01:1
ButtonMinimalPerf.default 85 85 1:1
DialogMinimalPerf.default 437 438 1:1
MenuButtonMinimalPerf.default 966 963 1:1
RefMinimalPerf.default 112 112 1:1
CustomToolbarPrototype.default 1469 1473 1:1
TreeMinimalPerf.default 487 488 1:1
ChatMinimalPerf.default 441 445 0.99:1
ListCommonPerf.default 386 389 0.99:1
TableManyItemsPerf.default 1117 1124 0.99:1
DropdownManyItemsPerf.default 386 393 0.98:1
ListMinimalPerf.default 301 307 0.98:1
MenuMinimalPerf.default 508 517 0.98:1
ButtonOverridesMissPerf.default 652 674 0.97:1
FormMinimalPerf.default 221 229 0.97:1
IconMinimalPerf.default 368 380 0.97:1
ToolbarMinimalPerf.default 530 547 0.97:1
VideoMinimalPerf.default 438 450 0.97:1
BoxMinimalPerf.default 183 197 0.93:1

@fabricteam
Copy link
Collaborator

fabricteam commented May 30, 2024

📊 Bundle size report

✅ No changes found

@fabricteam
Copy link
Collaborator

fabricteam commented May 30, 2024

🕵 FluentUIV0 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented May 30, 2024

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 626 654 5000
Breadcrumb mount 1680 1694 1000
Checkbox mount 1727 1703 5000
CheckboxBase mount 1473 1492 5000
ChoiceGroup mount 2946 3013 5000
ComboBox mount 670 697 1000
CommandBar mount 6440 6547 1000
ContextualMenu mount 13938 13873 1000
DefaultButton mount 814 794 5000
DetailsRow mount 2205 2231 5000
DetailsRowFast mount 2190 2235 5000
DetailsRowNoStyles mount 2090 2043 5000
Dialog mount 2623 2709 1000
DocumentCardTitle mount 228 240 1000
Dropdown mount 2007 2020 5000
FocusTrapZone mount 1148 1143 5000
FocusZone mount 1087 1059 5000
GroupedList mount 41956 41946 2
GroupedList virtual-rerender 18111 20158 2
GroupedList virtual-rerender-with-unmount 51170 51150 2
GroupedListV2 mount 231 226 2
GroupedListV2 virtual-rerender 211 218 2
GroupedListV2 virtual-rerender-with-unmount 231 227 2
IconButton mount 1159 1111 5000
Label mount 326 353 5000
Layer mount 2785 2763 5000
Link mount 392 391 5000
MenuButton mount 988 965 5000
MessageBar mount 21279 21372 5000
Nav mount 2034 2031 1000
OverflowSet mount 782 780 5000
Panel mount 1833 1791 1000
Persona mount 749 747 1000
Pivot mount 910 944 1000
PrimaryButton mount 925 948 5000
Rating mount 4721 4686 5000
SearchBox mount 935 915 5000
Shimmer mount 1917 1849 5000
Slider mount 1300 1300 5000
SpinButton mount 2967 2940 5000
Spinner mount 398 393 5000
SplitButton mount 1897 1889 5000
Stack mount 408 427 5000
StackWithIntrinsicChildren mount 860 872 5000
StackWithTextChildren mount 2698 2703 5000
SwatchColorPicker mount 6408 6473 5000
TagPicker mount 1457 1473 5000
Text mount 374 387 5000
TextField mount 944 916 5000
ThemeProvider mount 843 848 5000
ThemeProvider virtual-rerender 577 589 5000
ThemeProvider virtual-rerender-with-unmount 1250 1277 5000
Toggle mount 617 609 5000
buttonNative mount 197 194 5000

@Hotell Hotell marked this pull request as ready for review May 31, 2024 08:36
@Hotell Hotell requested review from a team as code owners May 31, 2024 08:36
package.json Show resolved Hide resolved
@Hotell Hotell force-pushed the deps/migrate/ts-eslint-v5 branch from f845f9f to 1fee6c6 Compare June 5, 2024 14:25
@fabricteam
Copy link
Collaborator

🕵 fluentuiv8 No visual regressions between this PR and main

@Hotell Hotell enabled auto-merge (squash) June 5, 2024 15:03
@Hotell Hotell merged commit 48ff23e into microsoft:master Jun 5, 2024
22 checks passed
miroslavstastny pushed a commit to miroslavstastny/fluentui that referenced this pull request Jun 14, 2024
@Hotell Hotell mentioned this pull request Jun 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Linting dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants