-
Notifications
You must be signed in to change notification settings - Fork 2.9k
feat(scripts-monorepo): replace lerna/utils with pure nx apis #30178
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
Conversation
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| Avatar | mount | 643 | 664 | 5000 | |
| Button | mount | 310 | 302 | 5000 | |
| Field | mount | 1115 | 1122 | 5000 | |
| FluentProvider | mount | 717 | 699 | 5000 | |
| FluentProviderWithTheme | mount | 77 | 85 | 10 | |
| FluentProviderWithTheme | virtual-rerender | 62 | 59 | 10 | |
| FluentProviderWithTheme | virtual-rerender-with-unmount | 77 | 76 | 10 | |
| MakeStyles | mount | 855 | 849 | 50000 | |
| Persona | mount | 1752 | 1718 | 5000 | |
| SpinButton | mount | 1402 | 1393 | 5000 |
|
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 39c3be4:
|
🕵 fluentuiv8 No visual regressions between this PR and main |
Perf Analysis (
|
| Scenario | Current PR Ticks | Baseline Ticks | Ratio |
|---|---|---|---|
| PortalMinimalPerf.default | 91 | 80 | 1.14:1 |
| LabelMinimalPerf.default | 230 | 207 | 1.11:1 |
| LoaderMinimalPerf.default | 190 | 175 | 1.09:1 |
| CarouselMinimalPerf.default | 273 | 254 | 1.07:1 |
| FlexMinimalPerf.default | 164 | 155 | 1.06:1 |
| MenuMinimalPerf.default | 510 | 482 | 1.06:1 |
| RefMinimalPerf.default | 116 | 109 | 1.06:1 |
| BoxMinimalPerf.default | 200 | 191 | 1.05:1 |
| ButtonOverridesMissPerf.default | 657 | 623 | 1.05:1 |
| HeaderSlotsPerf.default | 472 | 450 | 1.05:1 |
| SkeletonMinimalPerf.default | 201 | 192 | 1.05:1 |
| ChatDuplicateMessagesPerf.default | 153 | 147 | 1.04:1 |
| ChatMinimalPerf.default | 427 | 410 | 1.04:1 |
| ChatWithPopoverPerf.default | 191 | 183 | 1.04:1 |
| ImageMinimalPerf.default | 228 | 220 | 1.04:1 |
| AlertMinimalPerf.default | 155 | 150 | 1.03:1 |
| CheckboxMinimalPerf.default | 1132 | 1097 | 1.03:1 |
| DropdownMinimalPerf.default | 1446 | 1407 | 1.03:1 |
| ListMinimalPerf.default | 309 | 301 | 1.03:1 |
| ListWith60ListItems.default | 366 | 356 | 1.03:1 |
| AnimationMinimalPerf.default | 301 | 294 | 1.02:1 |
| ButtonMinimalPerf.default | 84 | 82 | 1.02:1 |
| InputMinimalPerf.default | 538 | 530 | 1.02:1 |
| MenuButtonMinimalPerf.default | 965 | 947 | 1.02:1 |
| SplitButtonMinimalPerf.default | 2284 | 2240 | 1.02:1 |
| StatusMinimalPerf.default | 390 | 381 | 1.02:1 |
| TextMinimalPerf.default | 190 | 187 | 1.02:1 |
| ToolbarMinimalPerf.default | 528 | 518 | 1.02:1 |
| TreeMinimalPerf.default | 472 | 464 | 1.02:1 |
| AvatarMinimalPerf.default | 106 | 105 | 1.01:1 |
| CardMinimalPerf.default | 302 | 300 | 1.01:1 |
| DatepickerMinimalPerf.default | 3547 | 3515 | 1.01:1 |
| DividerMinimalPerf.default | 204 | 202 | 1.01:1 |
| DropdownManyItemsPerf.default | 389 | 387 | 1.01:1 |
| ProviderMergeThemesPerf.default | 656 | 649 | 1.01:1 |
| ProviderMinimalPerf.default | 197 | 196 | 1.01:1 |
| EmbedMinimalPerf.default | 1876 | 1873 | 1:1 |
| HeaderMinimalPerf.default | 210 | 210 | 1:1 |
| RosterPerf.default | 1552 | 1549 | 1:1 |
| AttachmentSlotsPerf.default | 633 | 642 | 0.99:1 |
| DialogMinimalPerf.default | 432 | 435 | 0.99:1 |
| PopupMinimalPerf.default | 345 | 350 | 0.99:1 |
| SegmentMinimalPerf.default | 198 | 200 | 0.99:1 |
| SliderMinimalPerf.default | 760 | 769 | 0.99:1 |
| TableMinimalPerf.default | 229 | 231 | 0.99:1 |
| AccordionMinimalPerf.default | 78 | 80 | 0.98:1 |
| ItemLayoutMinimalPerf.default | 711 | 724 | 0.98:1 |
| ListCommonPerf.default | 382 | 391 | 0.98:1 |
| RadioGroupMinimalPerf.default | 257 | 261 | 0.98:1 |
| IconMinimalPerf.default | 377 | 383 | 0.98:1 |
| TextAreaMinimalPerf.default | 289 | 294 | 0.98:1 |
| CustomToolbarPrototype.default | 1447 | 1473 | 0.98:1 |
| VideoMinimalPerf.default | 426 | 436 | 0.98:1 |
| GridMinimalPerf.default | 181 | 186 | 0.97:1 |
| ListNestedPerf.default | 313 | 323 | 0.97:1 |
| TableManyItemsPerf.default | 1091 | 1124 | 0.97:1 |
| TooltipMinimalPerf.default | 1222 | 1260 | 0.97:1 |
| LayoutMinimalPerf.default | 186 | 194 | 0.96:1 |
| ReactionMinimalPerf.default | 200 | 208 | 0.96:1 |
| AttachmentMinimalPerf.default | 76 | 80 | 0.95:1 |
| FormMinimalPerf.default | 203 | 216 | 0.94:1 |
| ButtonSlotsPerf.default | 308 | 337 | 0.91:1 |
| TreeWith60ListItems.default | 76 | 87 | 0.87:1 |
🕵 FluentUIV0 No visual regressions between this PR and main |
📊 Bundle size reportUnchanged fixtures
|
Asset size changesSize Auditor did not detect a change in bundle size for any component! Baseline commit: 167cccee21a690dd231dd3b4d4d5159cfd8169e2 (build) |
🕵 fluentuiv9 No visual regressions between this PR and main |
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| BaseButton | mount | 607 | 627 | 5000 | |
| Breadcrumb | mount | 1707 | 1658 | 1000 | |
| Checkbox | mount | 1661 | 1675 | 5000 | |
| CheckboxBase | mount | 1477 | 1482 | 5000 | |
| ChoiceGroup | mount | 2973 | 2922 | 5000 | |
| ComboBox | mount | 667 | 644 | 1000 | |
| CommandBar | mount | 6174 | 6202 | 1000 | |
| ContextualMenu | mount | 11638 | 11583 | 1000 | |
| DefaultButton | mount | 748 | 747 | 5000 | |
| DetailsRow | mount | 2206 | 2185 | 5000 | |
| DetailsRowFast | mount | 2239 | 2183 | 5000 | |
| DetailsRowNoStyles | mount | 2037 | 2024 | 5000 | |
| Dialog | mount | 2757 | 2793 | 1000 | |
| DocumentCardTitle | mount | 236 | 232 | 1000 | |
| Dropdown | mount | 1952 | 1955 | 5000 | |
| FocusTrapZone | mount | 1131 | 1145 | 5000 | |
| FocusZone | mount | 1107 | 1066 | 5000 | |
| GroupedList | mount | 41184 | 41587 | 2 | |
| GroupedList | virtual-rerender | 19845 | 19724 | 2 | |
| GroupedList | virtual-rerender-with-unmount | 57300 | 57174 | 2 | |
| GroupedListV2 | mount | 225 | 219 | 2 | |
| GroupedListV2 | virtual-rerender | 218 | 205 | 2 | |
| GroupedListV2 | virtual-rerender-with-unmount | 227 | 237 | 2 | |
| IconButton | mount | 1102 | 1089 | 5000 | |
| Label | mount | 334 | 322 | 5000 | |
| Layer | mount | 2707 | 2725 | 5000 | |
| Link | mount | 393 | 397 | 5000 | |
| MenuButton | mount | 947 | 929 | 5000 | |
| MessageBar | mount | 21273 | 21317 | 5000 | |
| Nav | mount | 1975 | 1903 | 1000 | |
| OverflowSet | mount | 774 | 776 | 5000 | |
| Panel | mount | 2091 | 1794 | 1000 | |
| Persona | mount | 734 | 751 | 1000 | |
| Pivot | mount | 846 | 869 | 1000 | |
| PrimaryButton | mount | 850 | 842 | 5000 | |
| Rating | mount | 4680 | 4708 | 5000 | |
| SearchBox | mount | 904 | 892 | 5000 | |
| Shimmer | mount | 1819 | 1887 | 5000 | |
| Slider | mount | 1337 | 1299 | 5000 | |
| SpinButton | mount | 2866 | 2884 | 5000 | |
| Spinner | mount | 384 | 383 | 5000 | |
| SplitButton | mount | 1830 | 1826 | 5000 | |
| Stack | mount | 411 | 403 | 5000 | |
| StackWithIntrinsicChildren | mount | 860 | 866 | 5000 | |
| StackWithTextChildren | mount | 2590 | 2620 | 5000 | |
| SwatchColorPicker | mount | 6112 | 6017 | 5000 | |
| TagPicker | mount | 1442 | 1489 | 5000 | |
| Text | mount | 373 | 377 | 5000 | |
| TextField | mount | 916 | 937 | 5000 | |
| ThemeProvider | mount | 826 | 836 | 5000 | |
| ThemeProvider | virtual-rerender | 592 | 575 | 5000 | |
| ThemeProvider | virtual-rerender-with-unmount | 1267 | 1266 | 5000 | |
| Toggle | mount | 606 | 597 | 5000 | |
| buttonNative | mount | 196 | 202 | 5000 |
* master: (166 commits) Remove v0 dependency from v0 compat package (microsoft#30276) applying package updates Disallow `window` and `document` access for `@fluentui/react` and related packages. (microsoft#30063) Update Rating api and stories (microsoft#30092) TeachingPopover: Minor style changes (microsoft#30270) feat(scripts-gulp): replace lerna with nx (microsoft#30266) ci: remove canary and nightly functionality from northstar (microsoft#30264) List: Re-initialize on mount in React 18. (microsoft#29881) feat(scripts-monorepo): replace lerna/utils with pure nx apis (microsoft#30178) chore: remove react-timepicker-compat-preview (microsoft#30263) applying package updates feat(TimePicker-compat): stable release (microsoft#30217) feat: Implement onPositioningEnd callback (microsoft#30177) applying package updates v8 registerIcons compat (microsoft#30003) Adding Planner, ToDoItem and updated Project filetype icons. Updating FabricCDN url to latest datecode. (microsoft#30079) Scaffolds more Nav components (microsoft#30227) chore: migrate to nx 17.2 (microsoft#30187) applying package updates feat: Update position when target or container dimensions change (microsoft#30179) ...
Previous Behavior
after migration to lerna 7, our infra was refactored to use lerna/utils apis which are only another abstraction over pure nx.
this introduced some amount of churn like maintaining custom types, or loading quite big amount of JS when loading those lerna apis , which were not good for performance.
New Behavior
getDependenciesexposes additional helpergetProjectPackageJsonInfoif one needs access to project package json metadata. ideally this should be already part of nx graph ( will talk with nx folks about the approach feat(devkit): extendProjectConfigurationwith additional metadata nrwl/nx#20970 )Related Issue(s)