Skip to content

chore(nx-generator): Replace internal dev dependency versions with *#19799

Merged
ling1726 merged 9 commits into
microsoft:masterfrom
ling1726:chore/start-dev-deps
Sep 17, 2021
Merged

chore(nx-generator): Replace internal dev dependency versions with *#19799
ling1726 merged 9 commits into
microsoft:masterfrom
ling1726:chore/start-dev-deps

Conversation

@ling1726

@ling1726 ling1726 commented Sep 15, 2021

Copy link
Copy Markdown
Contributor

Pull request checklist

Description of changes

Resulting changes from this generator is available in #19800

Splitting v8/9 releases will have the problem of keeping dev
dependencies in sync since the v8 daily release will no longer bump
dependency versions in v9. Dev dependencies are shared between v8 and
v9 but no actual dependencies are shared.

Initial snapshot

`@fluentui/eslint-plugin` -> 1.0.0

`@fluentui/react-button` -> 9.0.0.alpha.1
- `@fluentui/eslint-plugin` -> 1.0.0

`@fluentui/react` -> 8.0.0
- `@fluentui/eslint-plugin` -> 1.0.0

After v8 daily release -> react-button dev dependency not bumped because v9 is published separately

`@fluentui/eslint-plugin` -> 1.0.1

`@fluentui/react-button` -> 9.0.0.alpha.1
- `@fluentui/eslint-plugin` -> 1.0.0

`@fluentui/react` -> 8.0.0
- `@fluentui/eslint-plugin` -> 1.0.1

Northstar already uses * versions for dev dependencies and since the
packages affected are also in the monorepo symlinked this should have
no consequence for day to day.

This generator creates and maintains a separate syncpack version group for v9 packages for dev depedencies within the monorepo. All v9 package dev dependencies will start using the * version

Focus areas to test

(optional)

Splitting v8/9 releases will have the problem of keeping dev
dependencies in sync since the v8 daily release will no longer bump
dependency versions in v9. Dev dependencies are shared between v8 and
v9 but no actual dependencies are shared.

Northstar already uses `*` versions for dev dependencies and since the
packages affected are also in the monorepo symlinked this should have
no consequence for day to day.

By converting all internal dev dependencies to `*` we won't need to bump
them anymore.
@fabricteam

fabricteam commented Sep 15, 2021

Copy link
Copy Markdown
Collaborator

📊 Bundle size report

Unchanged fixtures
Package & Exports Size (minified/GZIP)
react-accordion
Accordion (including children components)
55.248 kB
17.403 kB
react-avatar
Avatar
56.558 kB
15.66 kB
react-badge
Badge
24.343 kB
7.165 kB
react-badge
CounterBadge
27.156 kB
7.851 kB
react-badge
PresenseBadge
237 B
177 B
react-button
Button
22.932 kB
6.984 kB
react-button
CompoundButton
28.215 kB
7.834 kB
react-button
MenuButton
24.733 kB
7.546 kB
react-button
ToggleButton
32.527 kB
7.601 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
163.935 kB
46.761 kB
react-components
react-components: FluentProvider & webLightTheme
35.75 kB
11.392 kB
react-divider
Divider
15.889 kB
5.747 kB
react-image
Image
9.882 kB
3.975 kB
react-input
Input
31.636 kB
11.312 kB
react-label
Label
9.397 kB
3.839 kB
react-link
Link
13.718 kB
5.66 kB
react-make-styles
makeStaticStyles (runtime)
7.59 kB
3.321 kB
react-make-styles
makeStyles + mergeClasses (runtime)
22.135 kB
8.356 kB
react-make-styles
makeStyles + mergeClasses (build time)
2.557 kB
1.202 kB
react-menu
Menu (including children components)
102.963 kB
31.313 kB
react-menu
Menu (including selectable components)
105.239 kB
31.665 kB
react-popover
Popover
100.411 kB
30.075 kB
react-portal
Portal
6.725 kB
2.237 kB
react-positioning
usePopper
23.145 kB
7.942 kB
react-provider
FluentProvider
15.748 kB
5.773 kB
react-slider
Slider
30.697 kB
9.75 kB
react-switch
Switch
18.067 kB
6.181 kB
react-text
Text - Default
11.798 kB
4.452 kB
react-text
Text - Wrappers
15.414 kB
4.734 kB
react-theme
Teams: all themes
32.941 kB
6.674 kB
react-theme
Teams: Light theme
20.247 kB
5.662 kB
react-tooltip
Tooltip
46.029 kB
15.655 kB
react-utilities
SSRProvider
213 B
170 B
🤖 This report was generated against acce502f2396742f77099ad2bfa16247dc06f587

@ling1726 ling1726 marked this pull request as ready for review September 15, 2021 10:13
@ling1726 ling1726 requested a review from a team as a code owner September 15, 2021 10:13
@codesandbox-ci

codesandbox-ci Bot commented Sep 15, 2021

Copy link
Copy Markdown

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 5958d4b:

Sandbox Source
Fluent UI React Starter Configuration

@size-auditor

size-auditor Bot commented Sep 15, 2021

Copy link
Copy Markdown

Asset size changes

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

Baseline commit: acce502f2396742f77099ad2bfa16247dc06f587 (build)

Comment thread tools/generators/star-dev-deps/index.spec.ts
@fabricteam

fabricteam commented Sep 15, 2021

Copy link
Copy Markdown
Collaborator

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 981 966 5000
BaseButton mount 963 956 5000
Breadcrumb mount 2660 2663 1000
ButtonNext mount 462 452 5000
Checkbox mount 1611 1593 5000
CheckboxBase mount 1387 1375 5000
ChoiceGroup mount 5066 4848 5000
ComboBox mount 1036 1022 1000
CommandBar mount 10313 10351 1000
ContextualMenu mount 6629 6603 1000
DefaultButton mount 1192 1186 5000
DetailsRow mount 3965 3910 5000
DetailsRowFast mount 3931 3898 5000
DetailsRowNoStyles mount 3601 3620 5000
Dialog mount 2544 2501 1000
DocumentCardTitle mount 164 150 1000
Dropdown mount 3418 3429 5000
FluentProviderNext mount 7082 7191 5000
FluentProviderWithTheme mount 343 323 10
FluentProviderWithTheme virtual-rerender 92 87 10
FluentProviderWithTheme virtual-rerender-with-unmount 473 471 10
FocusTrapZone mount 1770 1839 5000
FocusZone mount 1816 1758 5000
IconButton mount 1875 1823 5000
Label mount 335 327 5000
Layer mount 3160 3108 5000
Link mount 484 511 5000
MakeStyles mount 1763 1838 50000
MenuButton mount 1574 1549 5000
MessageBar mount 2030 2053 5000
Nav mount 3436 3387 1000
OverflowSet mount 1159 1139 5000
Panel mount 1448 2399 1000
Persona mount 870 859 1000
Pivot mount 1481 1483 1000
PrimaryButton mount 1357 1356 5000
Rating mount 8278 8126 5000
SearchBox mount 1431 1392 5000
Shimmer mount 2664 2862 5000
Slider mount 2008 2027 5000
SpinButton mount 5243 5196 5000
Spinner mount 411 418 5000
SplitButton mount 3451 3288 5000
Stack mount 547 519 5000
StackWithIntrinsicChildren mount 1727 1665 5000
StackWithTextChildren mount 5048 4918 5000
SwatchColorPicker mount 10734 10745 5000
Tabs mount 1447 1457 1000
TagPicker mount 2785 2719 5000
TeachingBubble mount 13491 13483 5000
Text mount 443 420 5000
TextField mount 1401 1474 5000
ThemeProvider mount 1183 1170 5000
ThemeProvider virtual-rerender 598 612 5000
ThemeProvider virtual-rerender-with-unmount 1971 1958 5000
Toggle mount 805 845 5000
buttonNative mount 112 117 5000

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
ChatDuplicateMessagesPerf.default 335 303 1.11:1
ButtonMinimalPerf.default 192 174 1.1:1
TreeWith60ListItems.default 190 175 1.09:1
RefMinimalPerf.default 242 227 1.07:1
DropdownManyItemsPerf.default 757 711 1.06:1
ChatMinimalPerf.default 703 669 1.05:1
PortalMinimalPerf.default 183 175 1.05:1
ReactionMinimalPerf.default 407 387 1.05:1
AlertMinimalPerf.default 299 288 1.04:1
AttachmentMinimalPerf.default 175 169 1.04:1
BoxMinimalPerf.default 391 377 1.04:1
GridMinimalPerf.default 370 356 1.04:1
HeaderMinimalPerf.default 396 382 1.04:1
ImageMinimalPerf.default 407 393 1.04:1
ListCommonPerf.default 678 655 1.04:1
MenuButtonMinimalPerf.default 1788 1726 1.04:1
RadioGroupMinimalPerf.default 473 456 1.04:1
SkeletonMinimalPerf.default 380 367 1.04:1
AnimationMinimalPerf.default 436 424 1.03:1
DividerMinimalPerf.default 390 377 1.03:1
DropdownMinimalPerf.default 3155 3066 1.03:1
MenuMinimalPerf.default 890 867 1.03:1
ProviderMergeThemesPerf.default 1704 1652 1.03:1
SliderMinimalPerf.default 1616 1564 1.03:1
TooltipMinimalPerf.default 1094 1064 1.03:1
FlexMinimalPerf.default 312 307 1.02:1
FormMinimalPerf.default 447 440 1.02:1
HeaderSlotsPerf.default 817 799 1.02:1
StatusMinimalPerf.default 704 693 1.02:1
TableManyItemsPerf.default 2049 2009 1.02:1
TreeMinimalPerf.default 879 861 1.02:1
VideoMinimalPerf.default 673 659 1.02:1
AvatarMinimalPerf.default 215 213 1.01:1
ButtonOverridesMissPerf.default 1782 1764 1.01:1
CardMinimalPerf.default 617 610 1.01:1
ListMinimalPerf.default 530 527 1.01:1
ListNestedPerf.default 581 576 1.01:1
SplitButtonMinimalPerf.default 4334 4310 1.01:1
IconMinimalPerf.default 660 653 1.01:1
CarouselMinimalPerf.default 505 507 1:1
CheckboxMinimalPerf.default 2810 2813 1:1
DatepickerMinimalPerf.default 5500 5499 1:1
EmbedMinimalPerf.default 4267 4270 1:1
InputMinimalPerf.default 1302 1299 1:1
ItemLayoutMinimalPerf.default 1313 1315 1:1
ToolbarMinimalPerf.default 998 997 1:1
AccordionMinimalPerf.default 164 165 0.99:1
DialogMinimalPerf.default 782 788 0.99:1
LabelMinimalPerf.default 413 419 0.99:1
LayoutMinimalPerf.default 369 373 0.99:1
ListWith60ListItems.default 664 674 0.99:1
AttachmentSlotsPerf.default 1117 1138 0.98:1
ButtonSlotsPerf.default 572 582 0.98:1
PopupMinimalPerf.default 599 614 0.98:1
ProviderMinimalPerf.default 1027 1050 0.98:1
SegmentMinimalPerf.default 373 379 0.98:1
TableMinimalPerf.default 408 417 0.98:1
TextMinimalPerf.default 355 362 0.98:1
TextAreaMinimalPerf.default 527 538 0.98:1
CustomToolbarPrototype.default 3912 3991 0.98:1
RosterPerf.default 1221 1277 0.96:1
ChatWithPopoverPerf.default 370 391 0.95:1
LoaderMinimalPerf.default 695 728 0.95:1

@ling1726 ling1726 marked this pull request as draft September 15, 2021 11:14
@ling1726 ling1726 marked this pull request as ready for review September 15, 2021 16:57
ling1726 added a commit to ling1726/fluentui that referenced this pull request Sep 16, 2021
Moves the eslint-plugin package to devDeps for all packages to avoid
having to maintain an extra version group for v9 in microsoft#19799
ling1726 added a commit that referenced this pull request Sep 16, 2021
* chore(eslint-plugin): Move all usages to devdeps

Moves the eslint-plugin package to devDeps for all packages to avoid
having to maintain an extra version group for v9 in #19799

* use carets
@ling1726 ling1726 merged commit 4cd156b into microsoft:master Sep 17, 2021
ling1726 added a commit to ling1726/fluentui that referenced this pull request Sep 17, 2021
Following microsoft#19799, runs the generator and migrates all packages in the
monorepo to use `esling-plugin` and `react-conformance` as dev
dependencies
mlp73 pushed a commit to mlp73/fluentui that referenced this pull request Jan 17, 2022
* chore(eslint-plugin): Move all usages to devdeps

Moves the eslint-plugin package to devDeps for all packages to avoid
having to maintain an extra version group for v9 in microsoft#19799

* use carets
mlp73 pushed a commit to mlp73/fluentui that referenced this pull request Jan 17, 2022
microsoft#19799)

* chore(nx-generator): Replace internal dev dependency versions with `*`

Splitting v8/9 releases will have the problem of keeping dev
dependencies in sync since the v8 daily release will no longer bump
dependency versions in v9. Dev dependencies are shared between v8 and
v9 but no actual dependencies are shared.

Northstar already uses `*` versions for dev dependencies and since the
packages affected are also in the monorepo symlinked this should have
no consequence for day to day.

By converting all internal dev dependencies to `*` we won't need to bump
them anymore.

* improve logs

* improve logging

* update version group

* increase readability

* run on all packages for limited deps

* make configurabl;e

* remove test-utilites
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.

5 participants