feat(scripts-executors): implement new yarn start experience#32108
feat(scripts-executors): implement new yarn start experience#32108Hotell merged 12 commits intomicrosoft:masterfrom
yarn start experience#32108Conversation
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| Avatar | mount | 582 | 630 | 5000 | |
| Button | mount | 305 | 298 | 5000 | |
| Field | mount | 1132 | 1153 | 5000 | |
| FluentProvider | mount | 732 | 745 | 5000 | |
| FluentProviderWithTheme | mount | 81 | 92 | 10 | |
| FluentProviderWithTheme | virtual-rerender | 38 | 37 | 10 | |
| FluentProviderWithTheme | virtual-rerender-with-unmount | 82 | 81 | 10 | |
| MakeStyles | mount | 886 | 868 | 50000 | |
| Persona | mount | 1750 | 1712 | 5000 | |
| SpinButton | mount | 1457 | 1410 | 5000 | |
| SwatchPicker | mount | 1655 | 1678 | 5000 |
📊 Bundle size report✅ No changes found |
Perf Analysis (
|
| Scenario | Current PR Ticks | Baseline Ticks | Ratio | Regression Analysis |
|---|---|---|---|---|
| PortalMinimalPerf.default | 86 | 83 | 1.04:1 | analysis |
Perf tests with no regressions
| Scenario | Current PR Ticks | Baseline Ticks | Ratio |
|---|---|---|---|
| AccordionMinimalPerf.default | 91 | 82 | 1.11:1 |
| GridMinimalPerf.default | 210 | 191 | 1.1:1 |
| ImageMinimalPerf.default | 243 | 223 | 1.09:1 |
| ButtonMinimalPerf.default | 95 | 89 | 1.07:1 |
| ChatMinimalPerf.default | 478 | 452 | 1.06:1 |
| LoaderMinimalPerf.default | 200 | 188 | 1.06:1 |
| ChatDuplicateMessagesPerf.default | 161 | 153 | 1.05:1 |
| HeaderSlotsPerf.default | 489 | 465 | 1.05:1 |
| ListMinimalPerf.default | 325 | 309 | 1.05:1 |
| ListNestedPerf.default | 349 | 331 | 1.05:1 |
| MenuMinimalPerf.default | 523 | 499 | 1.05:1 |
| ReactionMinimalPerf.default | 222 | 211 | 1.05:1 |
| TreeMinimalPerf.default | 502 | 477 | 1.05:1 |
| TreeWith60ListItems.default | 87 | 83 | 1.05:1 |
| AttachmentSlotsPerf.default | 672 | 646 | 1.04:1 |
| AvatarMinimalPerf.default | 111 | 107 | 1.04:1 |
| RefMinimalPerf.default | 115 | 111 | 1.04:1 |
| ButtonSlotsPerf.default | 324 | 315 | 1.03:1 |
| DropdownMinimalPerf.default | 1472 | 1435 | 1.03:1 |
| EmbedMinimalPerf.default | 1938 | 1883 | 1.03:1 |
| PopupMinimalPerf.default | 365 | 356 | 1.03:1 |
| SegmentMinimalPerf.default | 199 | 194 | 1.03:1 |
| TableManyItemsPerf.default | 1147 | 1109 | 1.03:1 |
| ToolbarMinimalPerf.default | 559 | 545 | 1.03:1 |
| ItemLayoutMinimalPerf.default | 740 | 729 | 1.02:1 |
| LabelMinimalPerf.default | 228 | 223 | 1.02:1 |
| SkeletonMinimalPerf.default | 207 | 203 | 1.02:1 |
| SliderMinimalPerf.default | 769 | 752 | 1.02:1 |
| IconMinimalPerf.default | 398 | 390 | 1.02:1 |
| BoxMinimalPerf.default | 195 | 193 | 1.01:1 |
| CarouselMinimalPerf.default | 266 | 264 | 1.01:1 |
| CheckboxMinimalPerf.default | 1170 | 1154 | 1.01:1 |
| DialogMinimalPerf.default | 461 | 458 | 1.01:1 |
| DropdownManyItemsPerf.default | 418 | 415 | 1.01:1 |
| FormMinimalPerf.default | 234 | 232 | 1.01:1 |
| InputMinimalPerf.default | 569 | 561 | 1.01:1 |
| ProviderMergeThemesPerf.default | 656 | 647 | 1.01:1 |
| TooltipMinimalPerf.default | 1289 | 1280 | 1.01:1 |
| ButtonOverridesMissPerf.default | 676 | 679 | 1:1 |
| CardMinimalPerf.default | 313 | 314 | 1:1 |
| DatepickerMinimalPerf.default | 4066 | 4053 | 1:1 |
| HeaderMinimalPerf.default | 213 | 213 | 1:1 |
| LayoutMinimalPerf.default | 195 | 195 | 1:1 |
| CustomToolbarPrototype.default | 1533 | 1540 | 1:1 |
| AnimationMinimalPerf.default | 305 | 309 | 0.99:1 |
| AttachmentMinimalPerf.default | 84 | 85 | 0.99:1 |
| ChatWithPopoverPerf.default | 215 | 218 | 0.99:1 |
| DividerMinimalPerf.default | 208 | 211 | 0.99:1 |
| MenuButtonMinimalPerf.default | 962 | 976 | 0.99:1 |
| SplitButtonMinimalPerf.default | 2349 | 2361 | 0.99:1 |
| TextAreaMinimalPerf.default | 287 | 289 | 0.99:1 |
| ListWith60ListItems.default | 367 | 374 | 0.98:1 |
| StatusMinimalPerf.default | 397 | 404 | 0.98:1 |
| TableMinimalPerf.default | 239 | 243 | 0.98:1 |
| FlexMinimalPerf.default | 161 | 166 | 0.97:1 |
| RosterPerf.default | 1524 | 1578 | 0.97:1 |
| ProviderMinimalPerf.default | 196 | 203 | 0.97:1 |
| AlertMinimalPerf.default | 157 | 163 | 0.96:1 |
| ListCommonPerf.default | 379 | 396 | 0.96:1 |
| RadioGroupMinimalPerf.default | 258 | 268 | 0.96:1 |
| VideoMinimalPerf.default | 423 | 444 | 0.95:1 |
| TextMinimalPerf.default | 187 | 198 | 0.94:1 |
🕵 FluentUIV0 No visual regressions between this PR and main |
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| BaseButton | mount | 625 | 634 | 5000 | |
| Breadcrumb | mount | 1689 | 1714 | 1000 | |
| Checkbox | mount | 1706 | 1714 | 5000 | |
| CheckboxBase | mount | 1509 | 1516 | 5000 | |
| ChoiceGroup | mount | 2971 | 2946 | 5000 | |
| ComboBox | mount | 682 | 687 | 1000 | |
| CommandBar | mount | 6682 | 6570 | 1000 | |
| ContextualMenu | mount | 13429 | 13605 | 1000 | |
| DefaultButton | mount | 786 | 798 | 5000 | |
| DetailsRow | mount | 2282 | 2261 | 5000 | |
| DetailsRowFast | mount | 2257 | 2247 | 5000 | |
| DetailsRowNoStyles | mount | 2082 | 2019 | 5000 | |
| Dialog | mount | 2876 | 2886 | 1000 | |
| DocumentCardTitle | mount | 230 | 231 | 1000 | |
| Dropdown | mount | 1976 | 2017 | 5000 | |
| FocusTrapZone | mount | 1179 | 1179 | 5000 | |
| FocusZone | mount | 1128 | 1098 | 5000 | |
| GroupedList | mount | 42411 | 42420 | 2 | |
| GroupedList | virtual-rerender | 20245 | 20235 | 2 | |
| GroupedList | virtual-rerender-with-unmount | 51846 | 52279 | 2 | |
| GroupedListV2 | mount | 243 | 238 | 2 | |
| GroupedListV2 | virtual-rerender | 217 | 220 | 2 | |
| GroupedListV2 | virtual-rerender-with-unmount | 235 | 254 | 2 | |
| IconButton | mount | 1145 | 1135 | 5000 | |
| Label | mount | 343 | 340 | 5000 | |
| Layer | mount | 2751 | 2803 | 5000 | |
| Link | mount | 437 | 405 | 5000 | |
| MenuButton | mount | 983 | 991 | 5000 | |
| MessageBar | mount | 21306 | 21335 | 5000 | |
| Nav | mount | 1990 | 2043 | 1000 | |
| OverflowSet | mount | 796 | 783 | 5000 | |
| Panel | mount | 1893 | 1855 | 1000 | |
| Persona | mount | 754 | 777 | 1000 | |
| Pivot | mount | 898 | 921 | 1000 | |
| PrimaryButton | mount | 921 | 933 | 5000 | |
| Rating | mount | 4720 | 4747 | 5000 | |
| SearchBox | mount | 912 | 920 | 5000 | |
| Shimmer | mount | 1889 | 1924 | 5000 | |
| Slider | mount | 1386 | 1359 | 5000 | |
| SpinButton | mount | 2934 | 3033 | 5000 | |
| Spinner | mount | 394 | 398 | 5000 | |
| SplitButton | mount | 1902 | 1946 | 5000 | |
| Stack | mount | 424 | 434 | 5000 | |
| StackWithIntrinsicChildren | mount | 865 | 868 | 5000 | |
| StackWithTextChildren | mount | 2814 | 2754 | 5000 | |
| SwatchColorPicker | mount | 6417 | 6428 | 5000 | |
| TagPicker | mount | 1442 | 1451 | 5000 | |
| Text | mount | 387 | 389 | 5000 | |
| TextField | mount | 965 | 952 | 5000 | |
| ThemeProvider | mount | 876 | 898 | 5000 | |
| ThemeProvider | virtual-rerender | 592 | 586 | 5000 | |
| ThemeProvider | virtual-rerender-with-unmount | 1336 | 1298 | 5000 | |
| Toggle | mount | 623 | 634 | 5000 | |
| buttonNative | mount | 194 | 183 | 5000 |
yarn start experience
a7937d2 to
b8f649a
Compare
we don't wanna maintain 2 versions of "start", as a follow up we can probably introduce some escape hatch but as i mentioned "START" might mean various things and is confusing in terms of keeping consistency package per package.
that would "remove" all the new behaviours. So far we received good feedback on this new experience. We will iterate on this as we plan to ship this to all fluent repos. I appreciate your feedback and understand your concerns. It would be very helpful if you could provide some constructive suggestions on how we might improve this, rather than just reverting the changes. So far, you are the only one who has raised a complaint, and we value your input to make things better. |
|
@Hotell Love it, thanks! |
c0a495a to
b9bf496
Compare
b9bf496 to
ebd2058
Compare
🕵 fluentui-web-components-v3 No visual regressions between this PR and main |



Previous Behavior
yarn startprovides primitive alias with not enough context to run ayarn workspacestartnpm scriptNew Behavior
As we migrated to Nx, our
yarn startexperience provides significantly improved DX, taking inspiration from official NX IDE plugin - Nx ConsoleBesides providing every project
targetwithin the CLI we add artificialhelptarget which leveragesnx show projectcapabilities in order to provide comprehensive overview about the project.Demo
new-start-experience-with-nx-v2.mov
Related Issue(s)