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: Expand scope of dependency mismatch generator #24880

Merged
merged 3 commits into from
Sep 22, 2022

Conversation

ling1726
Copy link
Member

Expands the scope of the dependency mismatch generator to align dependencies in the repo even if they are not v9.

The exception here is northstar/v0, since it has a dependency on a former major of a v8 dependency

Partially addresses: #23147

Expands the scope of the dependency mismatch generator to align
dependencies in the repo even if they are not v9.

The exception here is northstar/v0, since it has a dependency on a
former major of a v8 dependency
@codesandbox-ci
Copy link

codesandbox-ci bot commented Sep 21, 2022

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 07bcf33:

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

@size-auditor
Copy link

size-auditor bot commented Sep 21, 2022

Asset size changes

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

Baseline commit: bc07875872cd357617adf8a6dcf5a46323737406 (build)

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 21, 2022

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 1264 1272 5000
Button mount 931 938 5000
FluentProvider mount 1476 1490 5000
FluentProviderWithTheme mount 577 581 10
FluentProviderWithTheme virtual-rerender 545 547 10
FluentProviderWithTheme virtual-rerender-with-unmount 575 582 10
MakeStyles mount 1962 1940 50000
SpinButton mount 2368 2365 5000

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 21, 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)
78.914 kB
24.06 kB
react-alert
Alert
83.511 kB
20.921 kB
react-avatar
Avatar
48.381 kB
13.696 kB
react-avatar
AvatarGroup
14.95 kB
5.989 kB
react-avatar
AvatarGroupItem
68.349 kB
19.039 kB
react-badge
Badge
22.6 kB
7.205 kB
react-badge
CounterBadge
23.503 kB
7.497 kB
react-badge
PresenceBadge
24.05 kB
7.067 kB
react-button
Button
36.119 kB
9.647 kB
react-button
CompoundButton
43.144 kB
10.86 kB
react-button
MenuButton
38.813 kB
10.551 kB
react-button
SplitButton
46.228 kB
11.933 kB
react-button
ToggleButton
51.888 kB
11.127 kB
react-card
Card - All
67.002 kB
19.261 kB
react-card
Card
62.684 kB
18.177 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.636 kB
24.186 kB
react-combobox
Dropdown (including child components)
74.236 kB
24.086 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
188.672 kB
52.359 kB
react-components
react-components: FluentProvider & webLightTheme
33.394 kB
11.007 kB
react-dialog
Dialog (including children components)
82.755 kB
24.581 kB
react-divider
Divider
16.459 kB
5.902 kB
react-image
Image
10.78 kB
4.264 kB
react-input
Input
23.757 kB
7.704 kB
react-label
Label
9.338 kB
3.86 kB
react-link
Link
11.784 kB
4.867 kB
react-menu
Menu (including children components)
116.572 kB
35.778 kB
react-menu
Menu (including selectable components)
119.641 kB
36.297 kB
react-overflow
hooks only
10.685 kB
4.104 kB
react-popover
Popover
102.963 kB
31.553 kB
react-portal
Portal
10.576 kB
3.875 kB
react-portal-compat
PortalCompatProvider
5.851 kB
1.964 kB
react-positioning
usePositioning
19.7 kB
7.404 kB
react-provider
FluentProvider
15.755 kB
5.883 kB
react-radio
Radio
35.56 kB
11.929 kB
react-radio
RadioGroup
14.248 kB
5.7 kB
react-select
Select
20.846 kB
7.346 kB
react-slider
Slider
31.526 kB
10.046 kB
react-spinbutton
SpinButton
44.102 kB
12.425 kB
react-spinner
Spinner
19.977 kB
6.438 kB
react-switch
Switch
32.097 kB
10.27 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.013 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.535 kB
14.639 kB
react-utilities
SSRProvider
180 B
159 B
🤖 This report was generated against bc07875872cd357617adf8a6dcf5a46323737406

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 21, 2022

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
AttachmentMinimalPerf.default 135 125 1.08:1
ListCommonPerf.default 535 500 1.07:1
SegmentMinimalPerf.default 312 292 1.07:1
PortalMinimalPerf.default 145 138 1.05:1
AvatarMinimalPerf.default 171 164 1.04:1
BoxMinimalPerf.default 307 295 1.04:1
LabelMinimalPerf.default 351 337 1.04:1
IconMinimalPerf.default 577 554 1.04:1
ButtonMinimalPerf.default 140 136 1.03:1
FormMinimalPerf.default 326 318 1.03:1
ListNestedPerf.default 482 466 1.03:1
PopupMinimalPerf.default 564 550 1.03:1
TableMinimalPerf.default 369 359 1.03:1
AttachmentSlotsPerf.default 885 871 1.02:1
CardMinimalPerf.default 464 457 1.02:1
HeaderMinimalPerf.default 324 319 1.02:1
ListMinimalPerf.default 460 450 1.02:1
MenuMinimalPerf.default 734 719 1.02:1
TextAreaMinimalPerf.default 412 402 1.02:1
TreeWith60ListItems.default 128 125 1.02:1
ButtonSlotsPerf.default 429 423 1.01:1
ChatDuplicateMessagesPerf.default 235 232 1.01:1
ChatMinimalPerf.default 643 639 1.01:1
DropdownMinimalPerf.default 2172 2160 1.01:1
EmbedMinimalPerf.default 2646 2621 1.01:1
ItemLayoutMinimalPerf.default 976 971 1.01:1
ListWith60ListItems.default 512 509 1.01:1
MenuButtonMinimalPerf.default 1351 1341 1.01:1
RadioGroupMinimalPerf.default 391 386 1.01:1
RefMinimalPerf.default 189 188 1.01:1
SliderMinimalPerf.default 1240 1224 1.01:1
SplitButtonMinimalPerf.default 3271 3242 1.01:1
TableManyItemsPerf.default 1576 1553 1.01:1
TextMinimalPerf.default 304 300 1.01:1
ToolbarMinimalPerf.default 791 787 1.01:1
AnimationMinimalPerf.default 471 469 1:1
CheckboxMinimalPerf.default 1524 1529 1:1
DatepickerMinimalPerf.default 4640 4648 1:1
DividerMinimalPerf.default 310 311 1:1
DropdownManyItemsPerf.default 540 542 1:1
HeaderSlotsPerf.default 683 680 1:1
InputMinimalPerf.default 851 850 1:1
LayoutMinimalPerf.default 308 308 1:1
RosterPerf.default 1724 1719 1:1
CustomToolbarPrototype.default 2162 2159 1:1
TooltipMinimalPerf.default 1874 1870 1:1
TreeMinimalPerf.default 705 707 1:1
VideoMinimalPerf.default 632 630 1:1
AccordionMinimalPerf.default 125 126 0.99:1
ButtonOverridesMissPerf.default 1012 1022 0.99:1
DialogMinimalPerf.default 684 688 0.99:1
FlexMinimalPerf.default 247 250 0.99:1
ReactionMinimalPerf.default 323 327 0.99:1
SkeletonMinimalPerf.default 300 304 0.99:1
StatusMinimalPerf.default 594 601 0.99:1
CarouselMinimalPerf.default 342 354 0.97:1
LoaderMinimalPerf.default 504 518 0.97:1
ProviderMergeThemesPerf.default 973 1004 0.97:1
ProviderMinimalPerf.default 314 324 0.97:1
AlertMinimalPerf.default 216 224 0.96:1
ChatWithPopoverPerf.default 290 302 0.96:1
GridMinimalPerf.default 293 307 0.95:1
ImageMinimalPerf.default 339 355 0.95:1

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 21, 2022

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 1191 1187 5000
Breadcrumb mount 2829 2802 1000
Checkbox mount 2672 2647 5000
CheckboxBase mount 2359 2371 5000
ChoiceGroup mount 4205 4258 5000
ComboBox mount 1178 1187 1000
CommandBar mount 9270 9240 1000
ContextualMenu mount 10185 10178 1000
DefaultButton mount 1362 1349 5000
DetailsRow mount 3355 3366 5000
DetailsRowFast mount 3385 3378 5000
DetailsRowNoStyles mount 3216 3215 5000
Dialog mount 2934 2954 1000
DocumentCardTitle mount 583 571 1000
Dropdown mount 3124 3196 5000
FocusTrapZone mount 1990 1979 5000
FocusZone mount 1968 1937 5000
GroupedList mount 48162 52945 2
GroupedList virtual-rerender 23347 22994 2
GroupedList virtual-rerender-with-unmount 81594 84134 2
GroupedListV2 mount 562 559 2
GroupedListV2 virtual-rerender 530 529 2
GroupedListV2 virtual-rerender-with-unmount 563 561 2
IconButton mount 1790 1786 5000
Label mount 740 759 5000
Layer mount 4112 4121 5000
Link mount 842 863 5000
MenuButton mount 1611 1624 5000
MessageBar mount 2310 2341 5000
Nav mount 3077 3057 1000
OverflowSet mount 1404 1423 5000
Panel mount 2455 2480 1000
Persona mount 1258 1254 1000
Pivot mount 1513 1507 1000
PrimaryButton mount 1488 1499 5000
Rating mount 7021 7003 5000
SearchBox mount 1495 1486 5000
Shimmer mount 2904 2923 5000
Slider mount 2103 2110 5000
SpinButton mount 4277 4282 5000
Spinner mount 831 843 5000
SplitButton mount 2812 2820 5000
Stack mount 890 897 5000
StackWithIntrinsicChildren mount 2258 2247 5000
StackWithTextChildren mount 4938 4945 5000
SwatchColorPicker mount 9491 9598 5000
TagPicker mount 2459 2351 5000
TeachingBubble mount 74912 74812 5000
Text mount 820 823 5000
TextField mount 1553 1538 5000
ThemeProvider mount 1458 1446 5000
ThemeProvider virtual-rerender 1153 1143 5000
ThemeProvider virtual-rerender-with-unmount 2015 1999 5000
Toggle mount 1137 1130 5000
buttonNative mount 531 536 5000

tools/generators/dependency-mismatch/index.spec.ts Outdated Show resolved Hide resolved
tools/generators/dependency-mismatch/index.spec.ts Outdated Show resolved Hide resolved
tools/generators/dependency-mismatch/index.spec.ts Outdated Show resolved Hide resolved
},
tags: string[] = [],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

chore: can we have this only as options (named arguments), positional arguments don't scale and provide bad DX on call site

workspace.json Outdated
@@ -10,12 +10,14 @@
"@fluentui/ability-attributes": {
"root": "packages/fluentui/ability-attributes",
"projectType": "library",
"implicitDependencies": []
"implicitDependencies": [],
"tags": ["northstar"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should be unify tags declaration. atm we use vNext for v9, v8 for react https://github.com/microsoft/fluentui/pull/22604/files#diff-8615bf67663730c68237b51aa01c74d409e3ebfa0ddb23cde704c9a2e97779fd

if we wanna go with package name we should go with:
react
react-components
react-northstar

althought the react tag for v8 is missleading without additional context(docs)

thoughts?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't mind, just pick a convention and go with it

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's your preference ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's go with package names, it's much more realistic. I'll update to react-norhtstar in this PR and we can update the other packages in other PRs

@ling1726 ling1726 closed this Sep 21, 2022
@ling1726 ling1726 reopened this Sep 21, 2022
@ling1726 ling1726 requested a review from Hotell September 21, 2022 12:55
@ling1726 ling1726 enabled auto-merge (squash) September 22, 2022 12:54
@ling1726 ling1726 merged commit 7b62a04 into microsoft:master Sep 22, 2022
marcosmoura added a commit to marcosmoura/fluentui that referenced this pull request Sep 24, 2022
* master: (29 commits)
  chore(react-tooltip): update package scaffold (microsoft#24927)
  chore(react-popover): update package scaffold (microsoft#24925)
  chore(react-overflow): update package scaffold (microsoft#24926)
  chore(react-menu): update package scaffold (microsoft#24924)
  applying package updates
  chore: Bump workspace-tools to 0.27.0 (microsoft#24914)
  fix: Make Menu openOnHover prop work again (microsoft#24899)
  stress test: convert cli scripts to typescript (microsoft#24915)
  update package manifest to only include v8 controls (microsoft#24839)
  Stress Test: add random tree (microsoft#24896)
  chore: Expand scope of dependency mismatch generator (microsoft#24880)
  chore: run dependency mismatch generator in release pipeline (microsoft#24881)
  chore: scaffolds react-trigger package (microsoft#24887)
  applying package updates
  chore: a11y docs structure update (microsoft#24871)
  feat: add popupProps to Modal component to allow override internal Popup props (microsoft#24693)
  fix: Set github user in nightly release pipeline (microsoft#24850)
  chore(react-aria): restructure folder organization (microsoft#24884)
  ci(github): fix invalid json string in issues.yml v2 (microsoft#24886)
  Add react-components/unstable to tsconfig aliases (microsoft#24878)
  ...
NotWoods pushed a commit to NotWoods/fluentui that referenced this pull request Nov 18, 2022
* chore: Expand scope of dependency mismatch generator

Expands the scope of the dependency mismatch generator to align
dependencies in the repo even if they are not v9.

The exception here is northstar/v0, since it has a dependency on a
former major of a v8 dependency

* update unit tests

* use react-northstar instead of northstar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants