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: switch to single version policy for typescript #16592

Merged
merged 5 commits into from Feb 11, 2021

Conversation

Hotell
Copy link
Contributor

@Hotell Hotell commented Jan 22, 2021

Pull request checklist

Description of changes

(give an overview)

Focus areas to test

(optional)

@DustyTheBot
Copy link

DustyTheBot commented Jan 22, 2021

Warnings
⚠️ There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

Generated by 🚫 dangerJS against 7908313

@codesandbox-ci
Copy link

codesandbox-ci bot commented Jan 22, 2021

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

Sandbox Source
Fluent UI Button Configuration
codesandbox-react-template Configuration
codesandbox-react-northstar-template Configuration

@fabricteam
Copy link
Collaborator

fabricteam commented Jan 22, 2021

Perf Analysis

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 855 871 5000
BaseButtonCompat mount 1005 971 5000
Breadcrumb mount 43869 44160 5000
Checkbox mount 1656 1653 5000
CheckboxBase mount 1376 1362 5000
ChoiceGroup mount 5141 5204 5000
ComboBox mount 1008 1030 1000
CommandBar mount 10432 10446 1000
ContextualMenu mount 6329 6358 1000
DefaultButtonCompat mount 1198 1217 5000
DetailsRow mount 3790 3880 5000
DetailsRowFast mount 3934 3932 5000
DetailsRowNoStyles mount 3654 3692 5000
Dialog mount 1563 1586 1000
DocumentCardTitle mount 1846 1903 1000
Dropdown mount 3510 3556 5000
FocusTrapZone mount 1801 1828 5000
FocusZone mount 1851 1858 5000
IconButtonCompat mount 1887 1885 5000
Label mount 340 352 5000
Layer mount 1891 1917 5000
Link mount 513 493 5000
MakeStyles mount 2020 2014 50000
MenuButtonCompat mount 1582 1582 5000
MessageBar mount 2072 2068 5000
Nav mount 3479 3534 1000
OverflowSet mount 1100 1105 5000
Panel mount 1478 1487 1000
Persona mount 912 916 1000
Pivot mount 1473 1494 1000
PrimaryButtonCompat mount 1365 1382 5000
Rating mount 8188 8174 5000
SearchBox mount 1449 1460 5000
Shimmer mount 2780 2733 5000
Slider mount 1994 2023 5000
SpinButton mount 5292 5327 5000
Spinner mount 447 448 5000
SplitButtonCompat mount 3341 3363 5000
Stack mount 526 516 5000
StackWithIntrinsicChildren mount 1664 1638 5000
StackWithTextChildren mount 4930 4937 5000
SwatchColorPicker mount 10870 11045 5000
Tabs mount 1442 1430 1000
TagPicker mount 2921 2951 5000
TeachingBubble mount 12032 11939 5000
Text mount 466 446 5000
TextField mount 1523 1496 5000
ThemeProvider mount 1449 1470 5000
ThemeProvider virtual-rerender 603 621 5000
ThemeProviderNext mount 2266 2239 5000
Toggle mount 852 871 5000
button mount 743 743 5000
buttonNative mount 112 115 5000

Perf Analysis (Fluent)

Perf comparison
Status Scenario Fluent TPI Fabric TPI Ratio Iterations Ticks
🦄 Avatar.Fluent 0.2 0.54 0.37:1 2000 392
🦄 Button.Fluent 0.13 0.22 0.59:1 5000 638
🔧 Checkbox.Fluent 0.69 0.36 1.92:1 1000 685
🎯 Dialog.Fluent 0.18 0.24 0.75:1 5000 882
🔧 Dropdown.Fluent 3.18 0.43 7.4:1 1000 3183
🔧 Icon.Fluent 0.15 0.07 2.14:1 5000 744
🦄 Image.Fluent 0.09 0.13 0.69:1 5000 473
🔧 Slider.Fluent 1.74 0.47 3.7:1 1000 1744
🔧 Text.Fluent 0.08 0.03 2.67:1 5000 422
🦄 Tooltip.Fluent 0.12 0.94 0.13:1 5000 618

🔧 Needs work     🎯 On target     🦄 Amazing

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
TextAreaMinimalPerf.default 635 546 1.16:1
FlexMinimalPerf.default 368 338 1.09:1
AnimationMinimalPerf.default 471 438 1.08:1
MenuMinimalPerf.default 1119 1035 1.08:1
TableMinimalPerf.default 509 473 1.08:1
CardMinimalPerf.default 663 617 1.07:1
SkeletonMinimalPerf.default 461 429 1.07:1
ChatDuplicateMessagesPerf.default 429 406 1.06:1
TreeMinimalPerf.default 924 872 1.06:1
TreeWith60ListItems.default 206 194 1.06:1
Slider.Fluent 1744 1648 1.06:1
DropdownManyItemsPerf.default 849 805 1.05:1
AlertMinimalPerf.default 352 338 1.04:1
DividerMinimalPerf.default 449 432 1.04:1
GridMinimalPerf.default 445 428 1.04:1
HeaderSlotsPerf.default 943 904 1.04:1
LabelMinimalPerf.default 500 480 1.04:1
VideoMinimalPerf.default 728 697 1.04:1
Image.Fluent 473 455 1.04:1
Text.Fluent 422 407 1.04:1
CarouselMinimalPerf.default 560 546 1.03:1
ListWith60ListItems.default 702 684 1.03:1
AttachmentSlotsPerf.default 1306 1281 1.02:1
ButtonMinimalPerf.default 215 210 1.02:1
FormMinimalPerf.default 497 488 1.02:1
ItemLayoutMinimalPerf.default 1388 1363 1.02:1
ListMinimalPerf.default 592 583 1.02:1
Avatar.Fluent 392 383 1.02:1
Checkbox.Fluent 685 669 1.02:1
Dialog.Fluent 882 862 1.02:1
Icon.Fluent 744 729 1.02:1
AvatarMinimalPerf.default 240 237 1.01:1
ButtonUseCssNestingPerf.default 1209 1194 1.01:1
DropdownMinimalPerf.default 3280 3235 1.01:1
PopupMinimalPerf.default 796 791 1.01:1
PortalMinimalPerf.default 190 189 1.01:1
TooltipMinimalPerf.default 893 886 1.01:1
ButtonUseCssPerf.default 936 936 1:1
ChatMinimalPerf.default 682 684 1:1
ImageMinimalPerf.default 455 455 1:1
LayoutMinimalPerf.default 463 462 1:1
ListNestedPerf.default 660 661 1:1
MenuButtonMinimalPerf.default 1751 1754 1:1
ProviderMinimalPerf.default 1048 1051 1:1
StatusMinimalPerf.default 817 814 1:1
TableManyItemsPerf.default 2356 2350 1:1
CustomToolbarPrototype.default 3930 3943 1:1
ToolbarMinimalPerf.default 1106 1107 1:1
Tooltip.Fluent 618 617 1:1
BoxMinimalPerf.default 429 432 0.99:1
CheckboxMinimalPerf.default 3011 3028 0.99:1
DatepickerMinimalPerf.default 51072 51419 0.99:1
EmbedMinimalPerf.default 4596 4623 0.99:1
InputMinimalPerf.default 1402 1421 0.99:1
ListCommonPerf.default 739 750 0.99:1
LoaderMinimalPerf.default 820 825 0.99:1
SplitButtonMinimalPerf.default 4173 4232 0.99:1
IconMinimalPerf.default 748 755 0.99:1
AttachmentMinimalPerf.default 194 197 0.98:1
ReactionMinimalPerf.default 480 488 0.98:1
RefMinimalPerf.default 257 261 0.98:1
SegmentMinimalPerf.default 433 442 0.98:1
SliderMinimalPerf.default 1677 1716 0.98:1
Dropdown.Fluent 3183 3252 0.98:1
AccordionMinimalPerf.default 180 185 0.97:1
ButtonSlotsPerf.default 652 671 0.97:1
DialogMinimalPerf.default 865 890 0.97:1
ButtonOverridesMissPerf.default 1857 1926 0.96:1
ChatWithPopoverPerf.default 515 534 0.96:1
RadioGroupMinimalPerf.default 507 528 0.96:1
Button.Fluent 638 665 0.96:1
ProviderMergeThemesPerf.default 1638 1723 0.95:1
TextMinimalPerf.default 420 444 0.95:1
HeaderMinimalPerf.default 442 476 0.93:1
RosterPerf.default 1237 1328 0.93:1

@size-auditor
Copy link

size-auditor bot commented Jan 22, 2021

Asset size changes

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

Baseline commit: 55194b54de8fe4e3b9aef0395321bec1d9cbc2c8 (build)

@ecraig12345
Copy link
Member

Before we modify the TS version for web-components we'll need to talk to @chrisdholt.

@Hotell
Copy link
Contributor Author

Hotell commented Jan 25, 2021

Before we modify the TS version for web-components we'll need to talk to @chrisdholt.

it's not modified, just set to exact version (which is used anyways via ^ version resolution in their workspace)

Copy link
Member

@ling1726 ling1726 left a comment

Choose a reason for hiding this comment

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

LGTM for v0

Copy link
Member

@ecraig12345 ecraig12345 left a comment

Choose a reason for hiding this comment

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

This looks good to me once the issue with react-monaco-editor is fixed.

Also once this is merged it should fix #14371.

packages/react-monaco-editor/package.json Show resolved Hide resolved
@Hotell Hotell force-pushed the hotell/build-system/ts-migration-1 branch from 2de38f0 to 49b1546 Compare February 5, 2021 13:04
@JustSlone
Copy link
Collaborator

JustSlone commented Feb 8, 2021

On the web-components topic. Am I correct to assume that web-components is not impacted by the single version policy? Meaning we can change the typescript version web-components uses independent of react.

@@ -92,7 +92,7 @@
"ts-loader": "^7.0.2",
"ts-node": "^8.0.0",
"tsconfig-paths": "^3.9.0",
"typescript": "^3.9.0",
"typescript": "3.9.7",
Copy link
Member

Choose a reason for hiding this comment

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

This seems fine - in the future anything which is intended to fix a React problem should likely not require a change here. There's no dependency on React for these packages and so I'd expect changes to be scoped to only those necessary.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

no worries, this has nothing to do with React. It's a 1st step to start using single version policy (and exact versions) for devDeps with a possibility to opt out. I could left web-components part of the repo as is but to prevent any kinds of version confusion/mismatches I set the version to be explicit.

@JustSlone
Copy link
Collaborator

@Hotell looks like we have sufficient sign off, if you are good to go I'll merge this (P.S. for a smaller change I would probably just merge it rather than asking).

@Hotell
Copy link
Contributor Author

Hotell commented Feb 10, 2021

@Hotell looks like we have sufficient sign off, if you are good to go I'll merge this (P.S. for a smaller change I would probably just merge it rather than asking).

I can merge it (admin rights), although that makes me quite uncomfortable heh

@ecraig12345
Copy link
Member

@Hotell looks like we have sufficient sign off, if you are good to go I'll merge this (P.S. for a smaller change I would probably just merge it rather than asking).

I can merge it (admin rights), although that makes me quite uncomfortable heh

In cases like this we tend to go ahead and admin merge. Especially since github makes it very hard to tell which approver is "missing" and all the most relevant people for this type of change have already approved.

@JustSlone
Copy link
Collaborator

@Hotell yeah, I agree I would feel uncomfortable admin merging my own PR, that's why I offered to do it 😄 . I would normally just merge it right now, but with a big change like this I'll let you merge it when you're awake 👍

In this case, I would recommend merging this, and not trying to hunt down sign off from every single codeowner

@Hotell Hotell merged commit 7566015 into microsoft:master Feb 11, 2021
@msft-fluent-ui-bot
Copy link
Collaborator

🎉@fluentui/react-monaco-editor@v1.0.0 has been released which incorporates this pull request.:tada:

Handy links:

joshualamusga1 pushed a commit to joshualamusga1/fluentui that referenced this pull request Feb 25, 2021
Co-authored-by: Elizabeth Craig <ecraig12345@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet