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: update projects to use * for inner workspace dependencies #28426

Merged

Conversation

Hotell
Copy link
Contributor

@Hotell Hotell commented Jul 4, 2023

Pre-requirements

New Behavior

release

runs yarn nx workspace-generator normalize-package-dependencies on pre-commit to normalize unwanted beachball changes.

image

ci

new check added on CI to enforce * versioning for inner workspace dependencies via yarn nx workspace-generator normalize-package-dependencies --verify

packages

applied nx workspace-generators normalize-package-dependencies on whole workspace

syncpack

  • updates to last version that runs on node v 16
  • migrates configuration to syncpack.config.js in order to get better DX ( TS inteli-sense)
  • updates version groups and add ignore group for inner workspace devDeps

DX/Dev flow updates

Adding inner workspace package to other publishable package dev dependencies:

NOTE: if added package is using old(deprecated) pre-release versioning instead of * you need to specify >=9.0.0-alpha

// @filename packages/react-components/react-text/package.json
{
  "name": "@fluentiu/react-text",
  "version": "9.1.2",
  "devDependencies":  {
-     "@fluentui/react-jest-utils": "0.1.36"  
+     "@fluentui/react-jest-utils": "*"  
   }
}

Adding inner workspace package to any application dependencies:

NOTE: if added package is using old(deprecated) pre-release versioning instead of * you need to specify >=9.0.0-alpha

// @filename apps/my-app/package.json
{
  "name": "@fluentiu/my-app",
  "version": "0.0.0",
  "private": true,
  "dependencies":  {
-     "@fluentui/react-lightsaber": "0.1.36"  
+     "@fluentui/react-lightsaber": "*"  
   }

  "devDependencies":  {
-     "@fluentui/react-jest-utils": "0.1.36"  
+     "@fluentui/react-jest-utils": "*"  
   }
}

Related Issue(s)

@github-actions github-actions bot added this to the July Project Cycle Q3 2023 milestone Jul 4, 2023
@Hotell Hotell changed the title Hotell/deps/move to star for apps deps 2 chore: update all apps to use * for workspace dependencies Jul 4, 2023
@Hotell Hotell force-pushed the hotell/deps/move-to-star-for-apps-deps-2 branch 3 times, most recently from d3c8e0f to 81becec Compare July 7, 2023 13:02
@Hotell Hotell changed the title chore: update all apps to use * for workspace dependencies chore: update all apps to use * for inner workspace dependencies Jul 7, 2023
@fabricteam
Copy link
Collaborator

fabricteam commented Jul 7, 2023

Perf Analysis (@fluentui/react-components)

Scenario Render type Master Ticks PR Ticks Iterations Status
FluentProviderWithTheme virtual-rerender-with-unmount 79 76 10 Possible regression
All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 606 597 5000
Button mount 297 291 5000
Field mount 1068 1037 5000
FluentProvider mount 667 650 5000
FluentProviderWithTheme mount 77 91 10
FluentProviderWithTheme virtual-rerender 81 70 10
FluentProviderWithTheme virtual-rerender-with-unmount 79 76 10 Possible regression
InfoButton mount 16 14 5000
MakeStyles mount 834 842 50000
Persona mount 1632 1593 5000
SpinButton mount 1317 1308 5000

@codesandbox-ci
Copy link

codesandbox-ci bot commented Jul 7, 2023

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 ccea3d0:

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

@fabricteam
Copy link
Collaborator

fabricteam commented Jul 7, 2023

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
AttachmentMinimalPerf.default 85 76 1.12:1
ListMinimalPerf.default 330 304 1.09:1
RadioGroupMinimalPerf.default 272 255 1.07:1
AvatarMinimalPerf.default 110 105 1.05:1
HeaderMinimalPerf.default 220 210 1.05:1
RefMinimalPerf.default 110 105 1.05:1
AccordionMinimalPerf.default 87 84 1.04:1
PortalMinimalPerf.default 86 83 1.04:1
SkeletonMinimalPerf.default 206 199 1.04:1
TextAreaMinimalPerf.default 293 282 1.04:1
TooltipMinimalPerf.default 1311 1263 1.04:1
AttachmentSlotsPerf.default 645 629 1.03:1
ChatWithPopoverPerf.default 190 185 1.03:1
ItemLayoutMinimalPerf.default 723 703 1.03:1
ProviderMergeThemesPerf.default 677 655 1.03:1
ButtonSlotsPerf.default 309 302 1.02:1
DropdownManyItemsPerf.default 406 397 1.02:1
EmbedMinimalPerf.default 1892 1855 1.02:1
ReactionMinimalPerf.default 216 212 1.02:1
SegmentMinimalPerf.default 202 199 1.02:1
SplitButtonMinimalPerf.default 2282 2233 1.02:1
TableMinimalPerf.default 240 236 1.02:1
VideoMinimalPerf.default 452 444 1.02:1
AnimationMinimalPerf.default 293 290 1.01:1
CarouselMinimalPerf.default 271 268 1.01:1
DropdownMinimalPerf.default 1428 1408 1.01:1
FlexMinimalPerf.default 162 161 1.01:1
HeaderSlotsPerf.default 467 462 1.01:1
InputMinimalPerf.default 545 541 1.01:1
ListNestedPerf.default 321 317 1.01:1
ListWith60ListItems.default 353 350 1.01:1
LoaderMinimalPerf.default 197 196 1.01:1
MenuButtonMinimalPerf.default 964 959 1.01:1
PopupMinimalPerf.default 353 349 1.01:1
SliderMinimalPerf.default 753 746 1.01:1
TextMinimalPerf.default 191 189 1.01:1
TreeMinimalPerf.default 482 476 1.01:1
ChatDuplicateMessagesPerf.default 160 160 1:1
CheckboxMinimalPerf.default 1111 1114 1:1
DatepickerMinimalPerf.default 3612 3612 1:1
DialogMinimalPerf.default 446 448 1:1
DividerMinimalPerf.default 204 205 1:1
CustomToolbarPrototype.default 1467 1464 1:1
GridMinimalPerf.default 189 190 0.99:1
ImageMinimalPerf.default 226 228 0.99:1
LabelMinimalPerf.default 220 223 0.99:1
MenuMinimalPerf.default 497 503 0.99:1
RosterPerf.default 1542 1557 0.99:1
IconMinimalPerf.default 383 388 0.99:1
BoxMinimalPerf.default 193 197 0.98:1
ButtonMinimalPerf.default 86 88 0.98:1
CardMinimalPerf.default 303 309 0.98:1
FormMinimalPerf.default 218 222 0.98:1
LayoutMinimalPerf.default 208 212 0.98:1
ListCommonPerf.default 390 398 0.98:1
TableManyItemsPerf.default 1114 1139 0.98:1
ToolbarMinimalPerf.default 535 548 0.98:1
TreeWith60ListItems.default 83 85 0.98:1
ChatMinimalPerf.default 438 451 0.97:1
ProviderMinimalPerf.default 207 214 0.97:1
StatusMinimalPerf.default 383 399 0.96:1
ButtonOverridesMissPerf.default 647 685 0.94:1
AlertMinimalPerf.default 144 157 0.92:1

@fabricteam
Copy link
Collaborator

fabricteam commented Jul 7, 2023

📊 Bundle size report

Unchanged fixtures
Package & Exports Size (minified/GZIP)
global-context
createContext
510 B
330 B
global-context
createContextSelector
537 B
342 B
priority-overflow
createOverflowManager
4.248 kB
1.671 kB
react-accordion
Accordion (including children components)
88.26 kB
26.718 kB
react-alert
Alert
82.565 kB
21.726 kB
react-avatar
Avatar
47.713 kB
14.513 kB
react-avatar
AvatarGroup
15.695 kB
6.314 kB
react-avatar
AvatarGroupItem
63.889 kB
18.993 kB
react-badge
Badge
23.604 kB
7.272 kB
react-badge
CounterBadge
24.506 kB
7.574 kB
react-badge
PresenceBadge
22.227 kB
7.881 kB
react-button
Button
36.792 kB
9.472 kB
react-button
CompoundButton
43.946 kB
10.952 kB
react-button
MenuButton
40.978 kB
10.669 kB
react-button
SplitButton
49.211 kB
12.232 kB
react-button
ToggleButton
55.074 kB
11.368 kB
react-card
Card - All
89.33 kB
25.271 kB
react-card
Card
83.778 kB
23.685 kB
react-card
CardFooter
9.24 kB
3.907 kB
react-card
CardHeader
11.622 kB
4.729 kB
react-card
CardPreview
10.048 kB
4.254 kB
react-checkbox
Checkbox
33.198 kB
10.718 kB
react-combobox
Combobox (including child components)
87.173 kB
28.125 kB
react-combobox
Dropdown (including child components)
85.576 kB
27.723 kB
react-components
react-components: Button, FluentProvider & webLightTheme
65.175 kB
17.915 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
210.68 kB
58.781 kB
react-components
react-components: FluentProvider & webLightTheme
36.409 kB
12.003 kB
react-datepicker-compat
DatePicker Compat
223.368 kB
59.265 kB
react-dialog
Dialog (including children components)
92.736 kB
27.579 kB
react-divider
Divider
17.49 kB
6.364 kB
react-field
Field
18.148 kB
6.97 kB
react-image
Image
11.561 kB
4.637 kB
react-infobutton
InfoButton
131.335 kB
40.311 kB
react-infobutton
InfoLabel
134.799 kB
41.376 kB
react-input
Input
24.232 kB
7.781 kB
react-label
Label
10.186 kB
4.253 kB
react-link
Link
12.782 kB
5.247 kB
react-menu
Menu (including children components)
132.673 kB
40.613 kB
react-menu
Menu (including selectable components)
135.437 kB
41.106 kB
react-overflow
hooks only
12.505 kB
4.626 kB
react-persona
Persona
55.267 kB
16.525 kB
react-popover
Popover
119.925 kB
36.895 kB
react-portal
Portal
11.935 kB
4.421 kB
react-portal-compat
PortalCompatProvider
6.473 kB
2.196 kB
react-positioning
usePositioning
24.272 kB
8.866 kB
react-progress
ProgressBar
13.941 kB
5.498 kB
react-provider
FluentProvider
18.129 kB
6.73 kB
react-radio
Radio
26.991 kB
8.626 kB
react-radio
RadioGroup
11.376 kB
4.763 kB
react-select
Select
24.929 kB
8.713 kB
react-slider
Slider
34.87 kB
11.178 kB
react-spinbutton
SpinButton
33.73 kB
10.337 kB
react-spinner
Spinner
21.376 kB
7.029 kB
react-switch
Switch
29.485 kB
9.228 kB
react-table
DataGrid
158.282 kB
43.276 kB
react-table
Table (Primitives only)
44.666 kB
12.442 kB
react-table
Table as DataGrid
132.365 kB
33.849 kB
react-table
Table (Selection only)
77.993 kB
19.245 kB
react-table
Table (Sort only)
76.978 kB
18.973 kB
react-tags-preview
InteractionTag
33.855 kB
9.08 kB
react-tags-preview
Tag
25.936 kB
8.483 kB
react-tags-preview
TagGroup
69.142 kB
20.294 kB
react-text
Text - Default
12.574 kB
4.982 kB
react-text
Text - Wrappers
15.726 kB
5.302 kB
react-textarea
Textarea
27.703 kB
9.126 kB
react-theme
Single theme token import
69 B
89 B
react-theme
Teams: all themes
31.987 kB
6.85 kB
react-theme
Teams: Light theme
18.121 kB
5.194 kB
react-toast
Toast (including Toaster)
78.365 kB
23.67 kB
react-tooltip
Tooltip
47.463 kB
16.655 kB
react-utilities
SSRProvider
180 B
159 B
🤖 This report was generated against 8d06e6d07e96f556e72b7a597664f14bef933eac

@size-auditor
Copy link

size-auditor bot commented Jul 7, 2023

Asset size changes

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

Baseline commit: 8d06e6d07e96f556e72b7a597664f14bef933eac (build)

@fabricteam
Copy link
Collaborator

fabricteam commented Jul 7, 2023

🕵 fluentuiv9 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Jul 7, 2023

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 626 606 5000
Breadcrumb mount 1699 1684 1000
Checkbox mount 1713 1714 5000
CheckboxBase mount 1478 1471 5000
ChoiceGroup mount 2925 2939 5000
ComboBox mount 651 672 1000
CommandBar mount 6340 6315 1000
ContextualMenu mount 13959 13997 1000
DefaultButton mount 741 761 5000
DetailsRow mount 2194 2176 5000
DetailsRowFast mount 2167 2207 5000
DetailsRowNoStyles mount 2006 2002 5000
Dialog mount 2590 2764 1000
DocumentCardTitle mount 238 224 1000
Dropdown mount 1977 1997 5000
FocusTrapZone mount 1108 1133 5000
FocusZone mount 1053 1066 5000
GroupedList mount 41392 41684 2
GroupedList virtual-rerender 19874 20132 2
GroupedList virtual-rerender-with-unmount 50752 51430 2
GroupedListV2 mount 231 231 2
GroupedListV2 virtual-rerender 212 212 2
GroupedListV2 virtual-rerender-with-unmount 237 240 2
IconButton mount 1066 1122 5000
Label mount 342 331 5000
Layer mount 2761 2724 5000
Link mount 393 398 5000
MenuButton mount 959 929 5000
MessageBar mount 21625 21636 5000
Nav mount 1964 1927 1000
OverflowSet mount 772 769 5000
Panel mount 1772 1761 1000
Persona mount 754 750 1000
Pivot mount 856 874 1000
PrimaryButton mount 850 849 5000
Rating mount 4637 4584 5000
SearchBox mount 904 917 5000
Shimmer mount 1878 1869 5000
Slider mount 1356 1332 5000
SpinButton mount 2870 2860 5000
Spinner mount 393 384 5000
SplitButton mount 1836 1870 5000
Stack mount 410 414 5000
StackWithIntrinsicChildren mount 840 842 5000
StackWithTextChildren mount 2649 2625 5000
SwatchColorPicker mount 6175 6175 5000
TagPicker mount 1501 1490 5000
Text mount 370 373 5000
TextField mount 911 924 5000
ThemeProvider mount 836 846 5000
ThemeProvider virtual-rerender 581 586 5000
ThemeProvider virtual-rerender-with-unmount 1292 1295 5000
Toggle mount 615 627 5000
buttonNative mount 186 198 5000

@Hotell Hotell changed the title chore: update all apps to use * for inner workspace dependencies chore: update projects to use * for inner workspace dependencies Jul 7, 2023
@Hotell Hotell force-pushed the hotell/deps/move-to-star-for-apps-deps-2 branch 2 times, most recently from af30191 to c1aa28c Compare July 10, 2023 16:50
@fabricteam
Copy link
Collaborator

fabricteam commented Jul 10, 2023

🕵 fluentuiv8 No visual regressions between this PR and main

@Hotell Hotell force-pushed the hotell/deps/move-to-star-for-apps-deps-2 branch from c1aa28c to 0c39032 Compare July 12, 2023 10:27
@fabricteam
Copy link
Collaborator

fabricteam commented Jul 12, 2023

🕵 FluentUI-v0 No visual regressions between this PR and main

@Hotell Hotell force-pushed the hotell/deps/move-to-star-for-apps-deps-2 branch from 3d6ef7b to a40705b Compare July 12, 2023 13:15
@Hotell Hotell marked this pull request as ready for review July 12, 2023 16:10
@Hotell Hotell requested review from a team, sopranopillow and GeoffCoxMSFT as code owners July 12, 2023 16:10
@Hotell Hotell requested review from spmonahan, micahgodbolt, smhigley and a team as code owners July 12, 2023 16:10
@Hotell
Copy link
Contributor Author

Hotell commented Jul 12, 2023

once approved by v-build team this will be admin merged (pipelines are green)

Copy link
Contributor

@AtishayMsft AtishayMsft left a comment

Choose a reason for hiding this comment

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

Approving on behalf of charting team.

Copy link
Member

@TristanWatanabe TristanWatanabe left a comment

Choose a reason for hiding this comment

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

One minor comment but otherwise LGTM!

@Hotell Hotell force-pushed the hotell/deps/move-to-star-for-apps-deps-2 branch from a40705b to ccea3d0 Compare July 13, 2023 17:34
@@ -19,14 +19,14 @@
},
Copy link
Collaborator

Choose a reason for hiding this comment

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

🕵 fluentuiv8 Open the Visual Regressions report to inspect the affected screenshots

ActivityItem 3 screenshots
Image Name Diff(in Pixels) Image Type
ActivityItem.Compact.default.chromium.png 27 Changed
ActivityItem.Root - RTL.default.chromium.png 695 Changed
ActivityItem.Root.default.chromium.png 1083 Changed
Breadcrumb 14 screenshots
Image Name Diff(in Pixels) Image Type
Breadcrumb.Root - RTL.itemLinkFocus.chromium.png 7211 Changed
Breadcrumb.Root.default.chromium.png 7065 Changed
Breadcrumb.Root.itemLinkFocus.chromium.png 7416 Changed
Breadcrumb.Root.overflowButtonFocus.chromium.png 7118 Changed
Breadcrumb.Root - RTL.click.chromium.png 7334 Changed
Breadcrumb.Root - RTL.overflowButtonFocus.chromium.png 6908 Changed
Breadcrumb.Root.longTitleHover.chromium.png 7253 Changed
Breadcrumb.Root - RTL.longTitleHover.chromium.png 7029 Changed
Breadcrumb.Root - RTL.default.chromium.png 6862 Changed
Breadcrumb.Root - RTL.shortTitleHover.chromium.png 6938 Changed
Breadcrumb.Root.click.chromium.png 7084 Changed
Breadcrumb.Root - RTL.hover.chromium.png 7119 Changed
Breadcrumb.Root.shortTitleHover.chromium.png 7199 Changed
Breadcrumb.Root.hover.chromium.png 7337 Changed

@fabricteam
Copy link
Collaborator

🕵 FluentUIV0 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

🕵 fluentuiv9 No visual regressions between this PR and main

@Hotell Hotell merged commit 8a9e101 into microsoft:master Jul 13, 2023
@Hotell Hotell deleted the hotell/deps/move-to-star-for-apps-deps-2 branch July 13, 2023 19:44
marcosmoura added a commit to marcosmoura/fluentui that referenced this pull request Jul 18, 2023
* master: (105 commits)
  fix(react-card): use resolved slot instead of raw prop object (microsoft#28517)
  applying package updates
  Expose virtualize index/length for casual use (microsoft#28450)
  applying package updates
  chore: update projects to use `*` for inner workspace dependencies (microsoft#28426)
  Update react-components/react-portal README.md (microsoft#28520)
  [2 of N] Changes for Making first render cycle faster and fixing test cases (microsoft#27721)
  applying package updates
  docs(react-search): Add README, description, best practices (microsoft#28507)
  Fix contrast issues in V8 Fluent2 Dark Theme (microsoft#28486)
  [VR-Approval-Cli] Fixed the Bug & Added the pipelineID (microsoft#28506)
  [Onboarding] Generalized VR-Approval-Cli (microsoft#28255)
  Onboarding [VR-Approval-CLI] To upload baseline screenshots (microsoft#28294)
  feat: migrate private v9 react packages to new preview versioning scheme (microsoft#28474)
  applying package updates
  applying package updates
  chore: openItems property added to TreeOpenChangeData + minor internal improvements (microsoft#28491)
  Fix Virtualizers 'start buffer' overflow (microsoft#28437)
  docs(v0 migration): add note about nested popups (microsoft#28480)
  chore: move slots back to TreeItem and creates slot context (microsoft#28492)
  ...
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.

chore: migrate inner workspace dependency versions to *
8 participants