Skip to content

Conversation

@Hotell
Copy link
Contributor

@Hotell Hotell commented Jan 3, 2024

Previous Behavior

As we are moving towards nx (that is used under the hood by lerna) we wanna remove unnecessary infra code from our codebase. This is one of many PR's that will address this initiative.

New Behavior

  • various northstar related npm script aliases removed

  • northstar related global scripts aggegated under "northstar:*" prefix

  • fluent release script now works as proper CLI

    • image
    • image
  • custom scripts leveraging lerna are removed

Follow up (another PR):

  • pack nightlies should process only react-northstar packages ( ATM it processes whole monorepo )

Related Issue(s)

@github-actions github-actions bot added this to the January Project Cycle Q1 2024 milestone Jan 3, 2024
@Hotell Hotell changed the title Lerna/remove lerna from northstar v1 chore: remove lerna executors that are redundant and improve/cleanup northstar release cli Jan 3, 2024
@Hotell
Copy link
Contributor Author

Hotell commented Jan 3, 2024

Some questions:

would appreciate some help here 🙏 @YuanboXue-Amber

Getting fluent packages

What was the original intent of following logic? https://github.com/microsoft/fluentui/pull/30202/files#diff-8628480ad3670d357c3c8f31928e24bf4895ac31705fbf6cb3e6dd227e4b2e9eL121

ATM this will return all monorepo packages and thus will apply those nightly versions to all of them. Is this correct or it should process only northstar packages

@fabricteam
Copy link
Collaborator

fabricteam commented Jan 3, 2024

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 633 639 5000
Button mount 306 312 5000
Field mount 1148 1155 5000
FluentProvider mount 707 703 5000
FluentProviderWithTheme mount 78 79 10
FluentProviderWithTheme virtual-rerender 66 65 10
FluentProviderWithTheme virtual-rerender-with-unmount 70 75 10
MakeStyles mount 849 821 50000
Persona mount 1744 1706 5000
SpinButton mount 1397 1400 5000

@codesandbox-ci
Copy link

codesandbox-ci bot commented Jan 3, 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.

Latest deployment of this branch, based on commit b08b4dd:

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

@fabricteam
Copy link
Collaborator

fabricteam commented Jan 3, 2024

🕵 fluentuiv8 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Jan 3, 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 86 82 1.05:1 analysis
Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
ChatDuplicateMessagesPerf.default 162 141 1.15:1
DividerMinimalPerf.default 210 195 1.08:1
FormMinimalPerf.default 230 213 1.08:1
ReactionMinimalPerf.default 221 205 1.08:1
RefMinimalPerf.default 117 110 1.06:1
AlertMinimalPerf.default 160 153 1.05:1
ChatWithPopoverPerf.default 203 195 1.04:1
HeaderMinimalPerf.default 212 203 1.04:1
RadioGroupMinimalPerf.default 260 251 1.04:1
TableMinimalPerf.default 232 223 1.04:1
TextMinimalPerf.default 192 184 1.04:1
BoxMinimalPerf.default 198 193 1.03:1
ButtonOverridesMissPerf.default 666 647 1.03:1
MenuMinimalPerf.default 510 497 1.03:1
MenuButtonMinimalPerf.default 964 936 1.03:1
CheckboxMinimalPerf.default 1165 1137 1.02:1
FlexMinimalPerf.default 156 153 1.02:1
HeaderSlotsPerf.default 467 458 1.02:1
RosterPerf.default 1605 1566 1.02:1
SegmentMinimalPerf.default 194 191 1.02:1
VideoMinimalPerf.default 442 435 1.02:1
ButtonSlotsPerf.default 307 303 1.01:1
CarouselMinimalPerf.default 259 257 1.01:1
DialogMinimalPerf.default 451 446 1.01:1
GridMinimalPerf.default 190 188 1.01:1
LabelMinimalPerf.default 222 220 1.01:1
LayoutMinimalPerf.default 198 197 1.01:1
ListMinimalPerf.default 300 298 1.01:1
PopupMinimalPerf.default 354 351 1.01:1
StatusMinimalPerf.default 395 393 1.01:1
AvatarMinimalPerf.default 110 110 1:1
CardMinimalPerf.default 312 311 1:1
ChatMinimalPerf.default 425 424 1:1
DatepickerMinimalPerf.default 3507 3495 1:1
EmbedMinimalPerf.default 1883 1876 1:1
ToolbarMinimalPerf.default 539 540 1:1
AttachmentSlotsPerf.default 635 643 0.99:1
DropdownMinimalPerf.default 1416 1425 0.99:1
ImageMinimalPerf.default 223 226 0.99:1
ItemLayoutMinimalPerf.default 707 715 0.99:1
LoaderMinimalPerf.default 190 191 0.99:1
ProviderMinimalPerf.default 196 197 0.99:1
SliderMinimalPerf.default 735 739 0.99:1
SplitButtonMinimalPerf.default 2199 2221 0.99:1
TableManyItemsPerf.default 1095 1108 0.99:1
TreeMinimalPerf.default 477 484 0.99:1
AnimationMinimalPerf.default 290 296 0.98:1
DropdownManyItemsPerf.default 387 393 0.98:1
PortalMinimalPerf.default 86 88 0.98:1
CustomToolbarPrototype.default 1435 1466 0.98:1
TooltipMinimalPerf.default 1302 1333 0.98:1
ListCommonPerf.default 375 386 0.97:1
TextAreaMinimalPerf.default 292 302 0.97:1
InputMinimalPerf.default 518 539 0.96:1
ListNestedPerf.default 319 334 0.96:1
ProviderMergeThemesPerf.default 633 663 0.95:1
TreeWith60ListItems.default 75 79 0.95:1
SkeletonMinimalPerf.default 189 202 0.94:1
AttachmentMinimalPerf.default 80 86 0.93:1
IconMinimalPerf.default 381 408 0.93:1
ListWith60ListItems.default 341 373 0.91:1
ButtonMinimalPerf.default 85 99 0.86:1

@fabricteam
Copy link
Collaborator

fabricteam commented Jan 3, 2024

🕵 FluentUIV0 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Jan 3, 2024

📊 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.88 kB
28.673 kB
react-alert
Alert
83.729 kB
23.458 kB
react-avatar
Avatar
50.167 kB
15.945 kB
react-avatar
AvatarGroup
19.696 kB
7.795 kB
react-avatar
AvatarGroupItem
64.823 kB
20.274 kB
react-badge
Badge
26.897 kB
8.729 kB
react-badge
CounterBadge
27.798 kB
9.024 kB
react-badge
PresenceBadge
25.303 kB
9.307 kB
react-button
Button
39.505 kB
11.17 kB
react-button
CompoundButton
46.866 kB
12.662 kB
react-button
MenuButton
44.284 kB
12.544 kB
react-button
SplitButton
52.298 kB
14.134 kB
react-button
ToggleButton
56.551 kB
13.068 kB
react-calendar-compat
Calendar Compat
142.045 kB
37.104 kB
react-card
Card - All
94.677 kB
27.247 kB
react-card
Card
89.501 kB
25.733 kB
react-card
CardFooter
13.056 kB
5.386 kB
react-card
CardHeader
15.299 kB
6.143 kB
react-card
CardPreview
14.007 kB
5.752 kB
react-checkbox
Checkbox
34.738 kB
11.903 kB
react-combobox
Combobox (including child components)
95.049 kB
30.679 kB
react-combobox
Dropdown (including child components)
93.64 kB
30.363 kB
react-components
react-components: Button, FluentProvider & webLightTheme
69.893 kB
20.261 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
209.769 kB
59.924 kB
react-components
react-components: FluentProvider & webLightTheme
42.38 kB
14.104 kB
react-datepicker-compat
DatePicker Compat
213.412 kB
59.838 kB
react-dialog
Dialog (including children components)
95.444 kB
28.457 kB
react-divider
Divider
20.812 kB
7.763 kB
react-field
Field
22.419 kB
8.573 kB
react-image
Image
15.728 kB
6.229 kB
react-infobutton
InfoButton
132.639 kB
41.721 kB
react-infobutton
InfoLabel
136.326 kB
42.862 kB
react-input
Input
26.879 kB
9.118 kB
react-jsx-runtime
Classic Pragma
1.049 kB
528 B
react-jsx-runtime
JSX Dev Runtime
3.775 kB
1.648 kB
react-jsx-runtime
JSX Runtime
4.369 kB
1.881 kB
react-label
Label
14.141 kB
5.759 kB
react-link
Link
17.074 kB
6.911 kB
react-menu
Menu (including children components)
141.96 kB
43.516 kB
react-menu
Menu (including selectable components)
144.646 kB
44.025 kB
react-message-bar
MessageBar (all components)
25.173 kB
9.039 kB
react-overflow
hooks only
12.837 kB
4.818 kB
react-persona
Persona
57.058 kB
17.822 kB
react-popover
Popover
120.804 kB
38.11 kB
react-portal
Portal
12.788 kB
4.67 kB
react-portal-compat
PortalCompatProvider
7.099 kB
2.385 kB
react-positioning
usePositioning
25.767 kB
9.308 kB
react-progress
ProgressBar
17.42 kB
6.897 kB
react-provider
FluentProvider
22.92 kB
8.472 kB
react-radio
Radio
31.738 kB
10.365 kB
react-radio
RadioGroup
15.337 kB
6.263 kB
react-select
Select
28.601 kB
10.206 kB
react-slider
Slider
39.142 kB
12.77 kB
react-spinbutton
SpinButton
36.766 kB
11.789 kB
react-spinner
Spinner
23.394 kB
8.467 kB
react-switch
Switch
34.222 kB
10.995 kB
react-table
DataGrid
154.888 kB
43.533 kB
react-table
Table (Primitives only)
43.891 kB
13.782 kB
react-table
Table as DataGrid
128.109 kB
34.792 kB
react-table
Table (Selection only)
73.288 kB
20.017 kB
react-table
Table (Sort only)
71.895 kB
19.617 kB
react-tags
InteractionTag
15.251 kB
6.058 kB
react-tags
Tag
29.974 kB
9.44 kB
react-tags
TagGroup
74.323 kB
22.28 kB
react-text
Text - Default
16.697 kB
6.569 kB
react-text
Text - Wrappers
19.87 kB
6.896 kB
react-textarea
Textarea
30.939 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-preview
TimePicker
96.886 kB
32.123 kB
react-toast
Toast (including Toaster)
93.195 kB
28.026 kB
react-tooltip
Tooltip
53.244 kB
18.807 kB
react-utilities
SSRProvider
180 B
160 B
🤖 This report was generated against 2a42b52a62aa5bc6e2c0fb81e43d4edf0b0fc4e9

@size-auditor
Copy link

size-auditor bot commented Jan 3, 2024

Asset size changes

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

Baseline commit: 2a42b52a62aa5bc6e2c0fb81e43d4edf0b0fc4e9 (build)

@fabricteam
Copy link
Collaborator

fabricteam commented Jan 3, 2024

🕵 fluentuiv9 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Jan 3, 2024

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 625 627 5000
Breadcrumb mount 1667 1659 1000
Checkbox mount 1675 1665 5000
CheckboxBase mount 1502 1471 5000
ChoiceGroup mount 2969 2918 5000
ComboBox mount 647 657 1000
CommandBar mount 6151 6131 1000
ContextualMenu mount 13509 13559 1000
DefaultButton mount 746 750 5000
DetailsRow mount 2159 2212 5000
DetailsRowFast mount 2188 2241 5000
DetailsRowNoStyles mount 2015 2012 5000
Dialog mount 2619 2813 1000
DocumentCardTitle mount 235 228 1000
Dropdown mount 1938 1948 5000
FocusTrapZone mount 1083 1123 5000
FocusZone mount 1065 1059 5000
GroupedList mount 41664 41882 2
GroupedList virtual-rerender 20260 20466 2
GroupedList virtual-rerender-with-unmount 50443 51018 2
GroupedListV2 mount 224 228 2
GroupedListV2 virtual-rerender 217 208 2
GroupedListV2 virtual-rerender-with-unmount 222 224 2
IconButton mount 1098 1088 5000
Label mount 334 343 5000
Layer mount 2713 2736 5000
Link mount 392 397 5000
MenuButton mount 946 955 5000
MessageBar mount 21357 21347 5000
Nav mount 1930 1978 1000
OverflowSet mount 784 761 5000
Panel mount 1781 1780 1000
Persona mount 702 753 1000
Pivot mount 854 872 1000
PrimaryButton mount 850 853 5000
Rating mount 4544 4593 5000
SearchBox mount 884 885 5000
Shimmer mount 1881 1865 5000
Slider mount 1290 1323 5000
SpinButton mount 2882 2805 5000
Spinner mount 383 375 5000
SplitButton mount 1840 1819 5000
Stack mount 407 419 5000
StackWithIntrinsicChildren mount 865 841 5000
StackWithTextChildren mount 2593 2568 5000
SwatchColorPicker mount 6196 6009 5000
TagPicker mount 1409 1451 5000
Text mount 378 373 5000
TextField mount 923 939 5000
ThemeProvider mount 807 809 5000
ThemeProvider virtual-rerender 590 588 5000
ThemeProvider virtual-rerender-with-unmount 1254 1267 5000
Toggle mount 607 614 5000
buttonNative mount 195 193 5000

@YuanboXue-Amber
Copy link
Contributor

Some questions:

would appreciate some help here 🙏 @YuanboXue-Amber

Getting fluent packages

What was the original intent of following logic? https://github.com/microsoft/fluentui/pull/30202/files#diff-8628480ad3670d357c3c8f31928e24bf4895ac31705fbf6cb3e6dd227e4b2e9eL121

ATM this will return all monorepo packages and thus will apply those nightly versions to all of them. Is this correct or it should process only northstar packages

@Hotell, the goal is to process all packages within packages/fluentui, not all packages in the monorepo. However I just gave it a try and this line 121 prints out all packages in the monorepo. This is probably why it hasn't been working since last April :/

@Hotell Hotell changed the title chore: remove lerna executors that are redundant and improve/cleanup northstar release cli chore: remove executors that use lerna under the hood, improve/cleanup northstar release cli tool, cleanup global npm scripts Jan 3, 2024
@Hotell
Copy link
Contributor Author

Hotell commented Jan 3, 2024

the goal is to process all packages within packages/fluentui, not all packages in the monorepo.

gotcha. this will be addressed in follow-up PR ( also added "follow up" section in PR description. ty!

@Hotell Hotell marked this pull request as ready for review January 3, 2024 15:45
@Hotell Hotell requested review from a team as code owners January 3, 2024 15:45
@Hotell Hotell merged commit b9b54fa into microsoft:master Jan 8, 2024
@Hotell Hotell deleted the lerna/remove-lerna-from-northstar-v1 branch January 8, 2024 10: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.

4 participants