-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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: migrate to TS 4.9 #31496
chore: migrate to TS 4.9 #31496
Conversation
📊 Bundle size reportUnchanged fixtures
|
Perf Analysis (
|
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
FluentProviderWithTheme | mount | 89 | 85 | 10 | Possible regression |
FluentProviderWithTheme | virtual-rerender | 37 | 32 | 10 | Possible regression |
All results
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
Avatar | mount | 645 | 669 | 5000 | |
Button | mount | 309 | 289 | 5000 | |
Field | mount | 1152 | 1154 | 5000 | |
FluentProvider | mount | 704 | 710 | 5000 | |
FluentProviderWithTheme | mount | 89 | 85 | 10 | Possible regression |
FluentProviderWithTheme | virtual-rerender | 37 | 32 | 10 | Possible regression |
FluentProviderWithTheme | virtual-rerender-with-unmount | 75 | 70 | 10 | |
MakeStyles | mount | 847 | 878 | 50000 | |
Persona | mount | 1779 | 1729 | 5000 | |
SpinButton | mount | 1411 | 1434 | 5000 | |
SwatchPicker | mount | 1569 | 1565 | 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. |
Perf Analysis (
|
Scenario | Current PR Ticks | Baseline Ticks | Ratio |
---|---|---|---|
TreeWith60ListItems.default | 95 | 83 | 1.14:1 |
PortalMinimalPerf.default | 88 | 79 | 1.11:1 |
AccordionMinimalPerf.default | 89 | 81 | 1.1:1 |
AlertMinimalPerf.default | 165 | 150 | 1.1:1 |
LayoutMinimalPerf.default | 205 | 186 | 1.1:1 |
ChatWithPopoverPerf.default | 213 | 196 | 1.09:1 |
TextMinimalPerf.default | 203 | 188 | 1.08:1 |
ProviderMinimalPerf.default | 211 | 198 | 1.07:1 |
ButtonSlotsPerf.default | 322 | 305 | 1.06:1 |
DialogMinimalPerf.default | 450 | 429 | 1.05:1 |
StatusMinimalPerf.default | 401 | 381 | 1.05:1 |
CarouselMinimalPerf.default | 277 | 266 | 1.04:1 |
CheckboxMinimalPerf.default | 1144 | 1099 | 1.04:1 |
DropdownManyItemsPerf.default | 409 | 393 | 1.04:1 |
DropdownMinimalPerf.default | 1436 | 1382 | 1.04:1 |
FlexMinimalPerf.default | 163 | 157 | 1.04:1 |
FormMinimalPerf.default | 225 | 217 | 1.04:1 |
MenuButtonMinimalPerf.default | 975 | 937 | 1.04:1 |
TextAreaMinimalPerf.default | 301 | 290 | 1.04:1 |
TreeMinimalPerf.default | 491 | 472 | 1.04:1 |
VideoMinimalPerf.default | 422 | 406 | 1.04:1 |
AnimationMinimalPerf.default | 306 | 296 | 1.03:1 |
AttachmentMinimalPerf.default | 81 | 79 | 1.03:1 |
AvatarMinimalPerf.default | 106 | 103 | 1.03:1 |
GridMinimalPerf.default | 195 | 190 | 1.03:1 |
HeaderMinimalPerf.default | 214 | 207 | 1.03:1 |
InputMinimalPerf.default | 543 | 526 | 1.03:1 |
ItemLayoutMinimalPerf.default | 716 | 698 | 1.03:1 |
TooltipMinimalPerf.default | 1284 | 1242 | 1.03:1 |
ButtonOverridesMissPerf.default | 666 | 654 | 1.02:1 |
ImageMinimalPerf.default | 235 | 231 | 1.02:1 |
ListMinimalPerf.default | 310 | 303 | 1.02:1 |
LoaderMinimalPerf.default | 193 | 189 | 1.02:1 |
SkeletonMinimalPerf.default | 206 | 201 | 1.02:1 |
ChatDuplicateMessagesPerf.default | 144 | 143 | 1.01:1 |
ReactionMinimalPerf.default | 214 | 212 | 1.01:1 |
SliderMinimalPerf.default | 747 | 738 | 1.01:1 |
TableManyItemsPerf.default | 1098 | 1090 | 1.01:1 |
TableMinimalPerf.default | 236 | 233 | 1.01:1 |
DatepickerMinimalPerf.default | 3684 | 3683 | 1:1 |
ListCommonPerf.default | 416 | 418 | 1:1 |
ListNestedPerf.default | 324 | 324 | 1:1 |
RosterPerf.default | 1584 | 1583 | 1:1 |
ProviderMergeThemesPerf.default | 646 | 644 | 1:1 |
CustomToolbarPrototype.default | 1480 | 1476 | 1:1 |
ToolbarMinimalPerf.default | 535 | 533 | 1:1 |
AttachmentSlotsPerf.default | 639 | 644 | 0.99:1 |
EmbedMinimalPerf.default | 1855 | 1875 | 0.99:1 |
LabelMinimalPerf.default | 217 | 220 | 0.99:1 |
ListWith60ListItems.default | 363 | 368 | 0.99:1 |
RadioGroupMinimalPerf.default | 267 | 270 | 0.99:1 |
RefMinimalPerf.default | 106 | 107 | 0.99:1 |
SplitButtonMinimalPerf.default | 2275 | 2288 | 0.99:1 |
ButtonMinimalPerf.default | 87 | 89 | 0.98:1 |
MenuMinimalPerf.default | 506 | 515 | 0.98:1 |
PopupMinimalPerf.default | 344 | 351 | 0.98:1 |
ChatMinimalPerf.default | 439 | 452 | 0.97:1 |
CardMinimalPerf.default | 300 | 313 | 0.96:1 |
HeaderSlotsPerf.default | 458 | 476 | 0.96:1 |
IconMinimalPerf.default | 374 | 389 | 0.96:1 |
DividerMinimalPerf.default | 192 | 202 | 0.95:1 |
BoxMinimalPerf.default | 186 | 198 | 0.94:1 |
SegmentMinimalPerf.default | 186 | 201 | 0.93:1 |
Perf Analysis (
|
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
BaseButton | mount | 613 | 621 | 5000 | |
Breadcrumb | mount | 1695 | 1668 | 1000 | |
Checkbox | mount | 1726 | 1721 | 5000 | |
CheckboxBase | mount | 1508 | 1501 | 5000 | |
ChoiceGroup | mount | 2989 | 3038 | 5000 | |
ComboBox | mount | 673 | 658 | 1000 | |
CommandBar | mount | 6463 | 6477 | 1000 | |
ContextualMenu | mount | 12754 | 12483 | 1000 | |
DefaultButton | mount | 800 | 817 | 5000 | |
DetailsRow | mount | 2213 | 2246 | 5000 | |
DetailsRowFast | mount | 2236 | 2206 | 5000 | |
DetailsRowNoStyles | mount | 2012 | 2031 | 5000 | |
Dialog | mount | 2719 | 2809 | 1000 | |
DocumentCardTitle | mount | 230 | 240 | 1000 | |
Dropdown | mount | 2012 | 1978 | 5000 | |
FocusTrapZone | mount | 1159 | 1132 | 5000 | |
FocusZone | mount | 1079 | 1103 | 5000 | |
GroupedList | mount | 42337 | 42071 | 2 | |
GroupedList | virtual-rerender | 17985 | 20189 | 2 | |
GroupedList | virtual-rerender-with-unmount | 51341 | 50887 | 2 | |
GroupedListV2 | mount | 217 | 229 | 2 | |
GroupedListV2 | virtual-rerender | 211 | 224 | 2 | |
GroupedListV2 | virtual-rerender-with-unmount | 225 | 231 | 2 | |
IconButton | mount | 1141 | 1148 | 5000 | |
Label | mount | 350 | 339 | 5000 | |
Layer | mount | 2742 | 2735 | 5000 | |
Link | mount | 396 | 394 | 5000 | |
MenuButton | mount | 985 | 981 | 5000 | |
MessageBar | mount | 21340 | 21409 | 5000 | |
Nav | mount | 2036 | 2049 | 1000 | |
OverflowSet | mount | 804 | 782 | 5000 | |
Panel | mount | 1831 | 1789 | 1000 | |
Persona | mount | 724 | 753 | 1000 | |
Pivot | mount | 911 | 896 | 1000 | |
PrimaryButton | mount | 933 | 926 | 5000 | |
Rating | mount | 4694 | 4684 | 5000 | |
SearchBox | mount | 920 | 915 | 5000 | |
Shimmer | mount | 1920 | 1930 | 5000 | |
Slider | mount | 1343 | 1358 | 5000 | |
SpinButton | mount | 2945 | 3037 | 5000 | |
Spinner | mount | 390 | 389 | 5000 | |
SplitButton | mount | 1838 | 1876 | 5000 | |
Stack | mount | 415 | 418 | 5000 | |
StackWithIntrinsicChildren | mount | 875 | 874 | 5000 | |
StackWithTextChildren | mount | 2662 | 2684 | 5000 | |
SwatchColorPicker | mount | 6369 | 6326 | 5000 | |
TagPicker | mount | 1478 | 1479 | 5000 | |
Text | mount | 378 | 390 | 5000 | |
TextField | mount | 956 | 940 | 5000 | |
ThemeProvider | mount | 838 | 843 | 5000 | |
ThemeProvider | virtual-rerender | 579 | 584 | 5000 | |
ThemeProvider | virtual-rerender-with-unmount | 1302 | 1301 | 5000 | |
Toggle | mount | 607 | 610 | 5000 | |
buttonNative | mount | 181 | 191 | 5000 |
fec3757
to
74cf3b1
Compare
Note popper bump - discussed offline with @layershifter I can do one of 2 follow ups regarding popper in order to bump the version back to current
As a follow-up we'll go with option |
on this approach, will we be able to unwind this when we fully drop support for v0? |
No 🥲 context: v0 will contain those popperjs types, so From teams POV i think it's safe enough to not have this restrictive check within the migration-v0-v9 package. The recommendation is for any consumer of v9 to have set
|
…des to be compliant with ts 4.9
…ant with ts 4.9 unconstrained generics check
74cf3b1
to
3a009fa
Compare
Previous Behavior
New Behavior
api-extractor:
web-components
nodeResolution: node16
setup. Simplest solution was to provide local type override forparse
api usagemoduleResolution
set tonode16
ornodenext
remarkablemark/html-react-parser#1305 (comment)react-northstar
strict
type checking in all v9) relies on v0 (react-migration-v0-v9
), type errors were exposed when generating api.md:@popperjs/core
has not ts 4.9 compliant types and only 3 recent versions mitigate this issue - that's why I needed to bump it ( which increases v0 bundle size )Perf bench
Related Issue(s)
moduleResolution
set tonode16
ornodenext
remarkablemark/html-react-parser#1305