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: migrate to ts 5.2.2 #32859

Merged
merged 10 commits into from
Nov 4, 2024
Merged

Conversation

mainframev
Copy link
Contributor

@mainframev mainframev commented Sep 18, 2024

Release notes:

What's addressed:

Previous Behavior

New Behavior

Related Issue(s)

A little slowdown should be caused by explicit type roots, once we will update to ts 5.5

Before (5.2) After (5.2)
7m 7s 7m 20s / 𝚫 3% 🐢 SLOWER

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

🕵 fluentui-web-components-v3 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

🕵 FluentUIV0 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 625 636 5000
Button mount 313 301 5000
Field mount 1122 1135 5000
FluentProvider mount 710 706 5000
FluentProviderWithTheme mount 83 91 10
FluentProviderWithTheme virtual-rerender 37 35 10
FluentProviderWithTheme virtual-rerender-with-unmount 84 86 10
MakeStyles mount 887 874 50000
Persona mount 1798 1713 5000
SpinButton mount 1344 1442 5000
SwatchPicker mount 1698 1665 5000

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

📊 Bundle size report

Package & Exports Baseline (minified/GZIP) PR Change
react
Announced
38.493 kB
13.297 kB
38.489 kB
13.296 kB
-4 B
-1 B
react
Autofill
15.428 kB
4.768 kB
15.42 kB
4.766 kB
-8 B
-2 B
react
Breadcrumb
202.406 kB
60.482 kB
202.308 kB
60.391 kB
-98 B
-91 B
react
Button
195.858 kB
56.697 kB
195.781 kB
56.634 kB
-77 B
-63 B
react
ButtonGrid
180.792 kB
54.683 kB
180.729 kB
54.641 kB
-63 B
-42 B
react
Calendar
121.905 kB
37.046 kB
121.882 kB
37.032 kB
-23 B
-14 B
react
ColorPicker
135.359 kB
42.257 kB
135.292 kB
42.21 kB
-67 B
-47 B
react
ComboBox
252.295 kB
72.392 kB
252.193 kB
72.294 kB
-102 B
-98 B
react
CommandBar
203.447 kB
60.224 kB
203.349 kB
60.142 kB
-98 B
-82 B
react
ContextualMenu
155.273 kB
48.228 kB
155.25 kB
48.215 kB
-23 B
-13 B
react
DatePicker
184.333 kB
56.194 kB
184.284 kB
56.154 kB
-49 B
-40 B
react
DetailsList
230.107 kB
65.952 kB
229.913 kB
65.787 kB
-194 B
-165 B
react
Dialog
211.784 kB
63.237 kB
211.707 kB
63.166 kB
-77 B
-71 B
react
DocumentCard
217.399 kB
64.512 kB
217.326 kB
64.436 kB
-73 B
-76 B
react
DraggableZone
34.305 kB
11.509 kB
34.303 kB
11.511 kB
-2 B
2 B
react
Dropdown
234.345 kB
68.729 kB
234.241 kB
68.617 kB
-104 B
-112 B
react
ExtendedPicker
96.924 kB
27.92 kB
96.873 kB
27.893 kB
-51 B
-27 B
react
Facepile
210.998 kB
63.254 kB
210.9 kB
63.183 kB
-98 B
-71 B
react
FloatingPicker
242.44 kB
69.088 kB
242.356 kB
69.005 kB
-84 B
-83 B
react
FocusZone
55.182 kB
17.503 kB
55.159 kB
17.492 kB
-23 B
-11 B
react
Grid
180.792 kB
54.683 kB
180.729 kB
54.641 kB
-63 B
-42 B
react
GroupedList
135.178 kB
40.798 kB
135.074 kB
40.705 kB
-104 B
-93 B
react
GroupedListV2
122.767 kB
37.881 kB
122.691 kB
37.794 kB
-76 B
-87 B
react
HoverCard
97.179 kB
30.82 kB
97.167 kB
30.794 kB
-12 B
-26 B
react
KeytipLayer
103.478 kB
32.017 kB
103.474 kB
32.015 kB
-4 B
-2 B
react
Keytips
106.25 kB
33.023 kB
106.246 kB
33.023 kB
-4 B
react
List
39.4 kB
12.481 kB
39.371 kB
12.463 kB
-29 B
-18 B
react
MarqueeSelection
74.541 kB
22.44 kB
74.517 kB
22.433 kB
-24 B
-7 B
react
MessageBar
190.922 kB
57.155 kB
190.859 kB
57.107 kB
-63 B
-48 B
react
Modal
93.747 kB
30.278 kB
93.745 kB
30.279 kB
-2 B
1 B
react
Nav
188.398 kB
56.575 kB
188.313 kB
56.502 kB
-85 B
-73 B
react
Panel
201.456 kB
60.076 kB
201.354 kB
59.981 kB
-102 B
-95 B
react
Persona
114.967 kB
36.546 kB
114.948 kB
36.532 kB
-19 B
-14 B
react
PersonaCoin
114.967 kB
36.546 kB
114.948 kB
36.532 kB
-19 B
-14 B
react
Pickers
294.462 kB
82.501 kB
294.328 kB
82.365 kB
-134 B
-136 B
react
Pivot
189.29 kB
57.329 kB
189.227 kB
57.281 kB
-63 B
-48 B
react
ProgressIndicator
39.504 kB
13.554 kB
39.494 kB
13.55 kB
-10 B
-4 B
react
Rating
82.143 kB
26.144 kB
82.12 kB
26.127 kB
-23 B
-17 B
react
Fluent UI React (entire library)
1.015 MB
282.181 kB
1.014 MB
281.695 kB
-542 B
-486 B
react
ScrollablePane
55.563 kB
17.734 kB
55.557 kB
17.728 kB
-6 B
-6 B
react
SearchBox
189.171 kB
56.737 kB
189.108 kB
56.682 kB
-63 B
-55 B
react
SelectedItemsList
232.95 kB
67.977 kB
232.868 kB
67.895 kB
-82 B
-82 B
react
Selection
42.464 kB
12.301 kB
42.444 kB
12.278 kB
-20 B
-23 B
react
ShimmeredDetailsList
240.889 kB
68.7 kB
240.695 kB
68.536 kB
-194 B
-164 B
react
SpinButton
192.874 kB
57.835 kB
192.811 kB
57.779 kB
-63 B
-56 B
react
Spinner
41.777 kB
14.478 kB
41.775 kB
14.48 kB
-2 B
2 B
react
Sticky
32.613 kB
10.509 kB
32.599 kB
10.504 kB
-14 B
-5 B
react
SwatchColorPicker
191.177 kB
58.196 kB
191.114 kB
58.149 kB
-63 B
-47 B
react
TeachingBubble
206.173 kB
61.106 kB
206.106 kB
61.06 kB
-67 B
-46 B
react
TextField
80.816 kB
25.332 kB
80.79 kB
25.315 kB
-26 B
-17 B
react
TimePicker
242.077 kB
70.14 kB
242.004 kB
70.053 kB
-73 B
-87 B
react
Tooltip
87.456 kB
28.268 kB
87.437 kB
28.26 kB
-19 B
-8 B
react
WeeklyDayPicker
102.058 kB
31.861 kB
102.025 kB
31.846 kB
-33 B
-15 B
Unchanged fixtures
Package & Exports Size (minified/GZIP)
global-context
createContext
510 B
328 B
global-context
createContextSelector
537 B
339 B
keyboard-key
keyboard-key package
3.746 kB
1.928 kB
priority-overflow
createOverflowManager
4.457 kB
1.856 kB
react
ActivityItem
71.236 kB
23.357 kB
react
Callout
84.33 kB
27.648 kB
react
Check
53.204 kB
17.848 kB
react
Checkbox
59.985 kB
19.903 kB
react
ChoiceGroup
65.494 kB
21.489 kB
react
ChoiceGroupOption
58.767 kB
19.362 kB
react
Coachmark
93.151 kB
29.428 kB
react
Color
7.789 kB
3.127 kB
react
DateTimeUtilities
5.244 kB
1.849 kB
react
Divider
19.603 kB
6.845 kB
react
DragDrop
8.343 kB
2.724 kB
react
Fabric
41.745 kB
14.366 kB
react
FocusTrapZone
17.03 kB
5.924 kB
react
Icon
51.885 kB
17.272 kB
react
Icons
66.361 kB
24.397 kB
react
Image
46.904 kB
15.707 kB
react
Keytip
81.693 kB
26.766 kB
react
KeytipData
14.039 kB
4.588 kB
react
Label
38.347 kB
13.257 kB
react
Layer
48.099 kB
16.367 kB
react
Link
39.682 kB
13.67 kB
react
OverflowSet
33.393 kB
11.329 kB
react
Overlay
40.902 kB
14.095 kB
react
PersonaPresence
58.074 kB
19.384 kB
react
Popup
12.294 kB
4.195 kB
react
Positioning
22.807 kB
7.701 kB
react
PositioningContainer
73.85 kB
23.765 kB
react
ResizeGroup
13.338 kB
4.377 kB
react
ResponsiveMode
8.13 kB
2.966 kB
react
SelectableOption
724 B
413 B
react
Separator
35.384 kB
12.146 kB
react
Shimmer
49.259 kB
16.268 kB
react
Slider
57.651 kB
19.217 kB
react
Stack
41.734 kB
14.268 kB
react
Styling
46.033 kB
15.135 kB
react
Text
36.908 kB
12.822 kB
react
Theme
43.501 kB
14.183 kB
react
ThemeGenerator
12.392 kB
4.126 kB
react
Toggle
46.225 kB
15.986 kB
react
Utilities
82.931 kB
25.148 kB
react
Viewport
23.888 kB
7.656 kB
react
WindowProvider
1.059 kB
541 B
react-accordion
Accordion (including children components)
106.728 kB
32.718 kB
react-avatar
Avatar
49.303 kB
15.815 kB
react-avatar
AvatarGroup
20.106 kB
7.968 kB
react-avatar
AvatarGroupItem
63.447 kB
20.034 kB
react-badge
Badge
25.954 kB
8.595 kB
react-badge
CounterBadge
26.733 kB
8.872 kB
react-badge
PresenceBadge
25.719 kB
9.457 kB
react-breadcrumb
@fluentui/react-breadcrumb - package
114.291 kB
31.695 kB
react-button
Button
37.174 kB
10.803 kB
react-button
CompoundButton
43.588 kB
12.101 kB
react-button
MenuButton
41.989 kB
12.144 kB
react-button
SplitButton
50.006 kB
13.716 kB
react-button
ToggleButton
53.107 kB
12.561 kB
react-calendar-compat
Calendar Compat
150.095 kB
40.026 kB
react-card
Card - All
101.77 kB
28.772 kB
react-card
Card
94.544 kB
26.951 kB
react-card
CardFooter
14.355 kB
5.79 kB
react-card
CardHeader
16.888 kB
6.669 kB
react-card
CardPreview
14.42 kB
5.922 kB
react-checkbox
Checkbox
35.118 kB
12.077 kB
react-combobox
Combobox (including child components)
104.383 kB
34.197 kB
react-combobox
Dropdown (including child components)
104.996 kB
34.122 kB
react-components
react-components: Button, FluentProvider & webLightTheme
69.21 kB
20.174 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
220.616 kB
63.902 kB
react-components
react-components: FluentProvider & webLightTheme
44.447 kB
14.59 kB
react-components
react-components: entire library
1.16 MB
290.619 kB
react-datepicker-compat
DatePicker Compat
224.165 kB
63.423 kB
react-dialog
Dialog (including children components)
100.297 kB
30.076 kB
react-divider
Divider
21.328 kB
7.953 kB
react-field
Field
23.399 kB
8.898 kB
react-image
Image
15.36 kB
6.236 kB
react-input
Input
28.014 kB
9.444 kB
react-jsx-runtime
Classic Pragma
1.057 kB
530 B
react-jsx-runtime
JSX Dev Runtime
3.771 kB
1.643 kB
react-jsx-runtime
JSX Runtime
4.367 kB
1.874 kB
react-label
Label
14.671 kB
5.99 kB
react-link
Link
17.326 kB
7.032 kB
react-list-preview
List
89.148 kB
26.597 kB
react-list-preview
ListItem
112.707 kB
33.428 kB
react-menu
Menu (including children components)
152.661 kB
46.116 kB
react-menu
Menu (including selectable components)
155.342 kB
46.598 kB
react-message-bar
MessageBar (all components)
24.878 kB
9.264 kB
react-motion
@fluentui/react-motion - createMotionComponent()
4.303 kB
1.899 kB
react-motion
@fluentui/react-motion - createPresenceComponent()
5.038 kB
2.229 kB
react-motion
@fluentui/react-motion - PresenceGroup
1.714 kB
819 B
react-northstar
Accordion
85.38 kB
26.519 kB
react-northstar
Alert
87.435 kB
26.905 kB
react-northstar
Animation
55.331 kB
17.83 kB
react-northstar
Attachment
86.829 kB
26.7 kB
react-northstar
Avatar
80.264 kB
24.633 kB
react-northstar
Box
75.233 kB
23.813 kB
react-northstar
Breadcrumb
79.908 kB
24.717 kB
react-northstar
Button
83.145 kB
25.952 kB
react-northstar
Card
82.693 kB
25.037 kB
react-northstar
Carousel
105.17 kB
31.873 kB
react-northstar
Chat
154.072 kB
46.878 kB
react-northstar
Checkbox
79.792 kB
25.08 kB
react-northstar
Datepicker
186.639 kB
56.99 kB
react-northstar
Debug
8.801 kB
3.594 kB
react-northstar
Design
36.589 kB
12.067 kB
react-northstar
Dialog
112.046 kB
33.622 kB
react-northstar
Divider
76.604 kB
24.135 kB
react-northstar
Dropdown
198.196 kB
60.223 kB
react-northstar
Embed
81.465 kB
25.425 kB
react-northstar
Flex
47.716 kB
15.443 kB
react-northstar
Form
92.515 kB
28.888 kB
react-northstar
Grid
70.569 kB
22.283 kB
react-northstar
Header
74.741 kB
23.465 kB
react-northstar
Image
73.576 kB
23.333 kB
react-northstar
Input
88.334 kB
27.781 kB
react-northstar
ItemLayout
78.213 kB
24.457 kB
react-northstar
Label
77.905 kB
24.414 kB
react-northstar
Layout
75.378 kB
23.803 kB
react-northstar
List
88.475 kB
27.555 kB
react-northstar
Loader
78.601 kB
24.733 kB
react-northstar
Menu
128.587 kB
40.738 kB
react-northstar
MenuButton
162.993 kB
49.614 kB
react-northstar
Pill
83.707 kB
26.069 kB
react-northstar
Popup
135.304 kB
42.259 kB
react-northstar
Portal
58.326 kB
18.851 kB
react-northstar
Provider
93.129 kB
29.627 kB
react-northstar
RadioGroup
83.27 kB
26.053 kB
react-northstar
Reaction
77.265 kB
24.128 kB
react-northstar
Segment
76.194 kB
23.896 kB
react-northstar
Skeleton
77.75 kB
24.205 kB
react-northstar
Slider
84.258 kB
26.757 kB
react-northstar
SplitButton
178.231 kB
53.438 kB
react-northstar
Status
76.257 kB
24.054 kB
react-northstar
SvgIcon
36.811 kB
11.746 kB
react-northstar
Table
80.784 kB
25.157 kB
react-northstar
Text
74.099 kB
23.511 kB
react-northstar
TextArea
74.233 kB
23.496 kB
react-northstar
Toolbar
175.042 kB
52.844 kB
react-northstar
Tooltip
109.961 kB
35.238 kB
react-northstar
Tree
87.84 kB
27.223 kB
react-northstar
Video
75.399 kB
23.796 kB
react-overflow
hooks only
12.808 kB
4.819 kB
react-persona
Persona
56.194 kB
17.695 kB
react-popover
Popover
128.904 kB
40.314 kB
react-portal
Portal
14.563 kB
5.118 kB
react-portal-compat
PortalCompatProvider
8.39 kB
2.64 kB
react-positioning
usePositioning
27.057 kB
9.698 kB
react-progress
ProgressBar
17.084 kB
6.891 kB
react-provider
FluentProvider
24.623 kB
8.893 kB
react-radio
Radio
32.672 kB
10.343 kB
react-radio
RadioGroup
15.762 kB
6.423 kB
react-select
Select
27.732 kB
10.124 kB
react-slider
Slider
37.169 kB
12.538 kB
react-spinbutton
SpinButton
36.06 kB
11.815 kB
react-spinner
Spinner
25.245 kB
8.539 kB
react-swatch-picker
@fluentui/react-swatch-picker - package
104.258 kB
30.231 kB
react-switch
Switch
35.319 kB
11.314 kB
react-table
DataGrid
161.034 kB
45.71 kB
react-table
Table (Primitives only)
42.666 kB
13.854 kB
react-table
Table as DataGrid
131.869 kB
36.57 kB
react-table
Table (Selection only)
70.536 kB
19.999 kB
react-table
Table (Sort only)
69.179 kB
19.61 kB
react-tag-picker
@fluentui/react-tag-picker - package
184.091 kB
55.425 kB
react-tags
InteractionTag
15.199 kB
6.157 kB
react-tags
Tag
29.016 kB
9.524 kB
react-tags
TagGroup
82.719 kB
24.524 kB
react-text
Text - Default
17.061 kB
6.723 kB
react-text
Text - Wrappers
20.242 kB
7.048 kB
react-textarea
Textarea
26.572 kB
9.755 kB
react-theme
Single theme token import
69 B
89 B
react-theme
Teams: all themes
35.666 kB
7.453 kB
react-theme
Teams: Light theme
19.642 kB
5.549 kB
react-timepicker-compat
TimePicker
107.372 kB
35.755 kB
react-toast
Toast (including Toaster)
98.338 kB
29.591 kB
react-tooltip
Tooltip
55.517 kB
19.515 kB
react-utilities
SSRProvider
180 B
160 B
🤖 This report was generated against 49e6794b31d8097ace17a179a58d4db373a47ca4

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
PortalMinimalPerf.default 102 83 1.23:1
AttachmentMinimalPerf.default 99 82 1.21:1
AvatarMinimalPerf.default 119 106 1.12:1
ButtonSlotsPerf.default 325 291 1.12:1
TreeWith60ListItems.default 96 87 1.1:1
LoaderMinimalPerf.default 202 185 1.09:1
ImageMinimalPerf.default 241 224 1.08:1
ProviderMinimalPerf.default 214 199 1.08:1
AnimationMinimalPerf.default 317 296 1.07:1
HeaderMinimalPerf.default 220 205 1.07:1
IconMinimalPerf.default 406 381 1.07:1
TreeMinimalPerf.default 508 476 1.07:1
VideoMinimalPerf.default 469 438 1.07:1
AccordionMinimalPerf.default 93 88 1.06:1
CardMinimalPerf.default 319 300 1.06:1
RefMinimalPerf.default 119 112 1.06:1
TableMinimalPerf.default 249 234 1.06:1
AttachmentSlotsPerf.default 654 620 1.05:1
RadioGroupMinimalPerf.default 274 262 1.05:1
SkeletonMinimalPerf.default 206 197 1.05:1
BoxMinimalPerf.default 207 199 1.04:1
ReactionMinimalPerf.default 216 208 1.04:1
CarouselMinimalPerf.default 267 259 1.03:1
FormMinimalPerf.default 228 222 1.03:1
InputMinimalPerf.default 554 539 1.03:1
ListNestedPerf.default 337 326 1.03:1
CustomToolbarPrototype.default 1515 1467 1.03:1
CheckboxMinimalPerf.default 1177 1159 1.02:1
LabelMinimalPerf.default 225 220 1.02:1
ListCommonPerf.default 407 398 1.02:1
MenuMinimalPerf.default 521 509 1.02:1
PopupMinimalPerf.default 351 345 1.02:1
ProviderMergeThemesPerf.default 665 655 1.02:1
SliderMinimalPerf.default 746 730 1.02:1
TextMinimalPerf.default 206 202 1.02:1
ChatMinimalPerf.default 437 434 1.01:1
DividerMinimalPerf.default 212 210 1.01:1
DropdownManyItemsPerf.default 400 398 1.01:1
GridMinimalPerf.default 192 190 1.01:1
HeaderSlotsPerf.default 474 470 1.01:1
ListMinimalPerf.default 314 310 1.01:1
ToolbarMinimalPerf.default 539 533 1.01:1
AlertMinimalPerf.default 167 167 1:1
DatepickerMinimalPerf.default 3719 3704 1:1
FlexMinimalPerf.default 153 153 1:1
LayoutMinimalPerf.default 203 204 1:1
RosterPerf.default 1554 1555 1:1
TableManyItemsPerf.default 1139 1136 1:1
TooltipMinimalPerf.default 1281 1277 1:1
DropdownMinimalPerf.default 1429 1450 0.99:1
EmbedMinimalPerf.default 1863 1890 0.99:1
ItemLayoutMinimalPerf.default 708 716 0.99:1
SplitButtonMinimalPerf.default 2265 2298 0.99:1
TextAreaMinimalPerf.default 289 291 0.99:1
ButtonMinimalPerf.default 88 90 0.98:1
DialogMinimalPerf.default 439 447 0.98:1
StatusMinimalPerf.default 402 412 0.98:1
ChatDuplicateMessagesPerf.default 149 154 0.97:1
ListWith60ListItems.default 368 380 0.97:1
ButtonOverridesMissPerf.default 640 669 0.96:1
MenuButtonMinimalPerf.default 957 1012 0.95:1
SegmentMinimalPerf.default 197 207 0.95:1
ChatWithPopoverPerf.default 197 210 0.94:1

@fabricteam
Copy link
Collaborator

fabricteam commented Sep 18, 2024

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 615 638 5000
Breadcrumb mount 1692 1654 1000
Checkbox mount 1676 1691 5000
CheckboxBase mount 1456 1482 5000
ChoiceGroup mount 2969 2999 5000
ComboBox mount 686 659 1000
CommandBar mount 6505 6521 1000
ContextualMenu mount 11699 12129 1000
DefaultButton mount 796 793 5000
DetailsRow mount 2150 2184 5000
DetailsRowFast mount 2243 2213 5000
DetailsRowNoStyles mount 2021 2041 5000
Dialog mount 2779 2806 1000
DocumentCardTitle mount 239 239 1000
Dropdown mount 2026 2004 5000
FocusTrapZone mount 1159 1154 5000
FocusZone mount 1115 1052 5000
GroupedList mount 42537 42307 2
GroupedList virtual-rerender 20259 20239 2
GroupedList virtual-rerender-with-unmount 51713 52021 2
GroupedListV2 mount 243 228 2
GroupedListV2 virtual-rerender 217 223 2
GroupedListV2 virtual-rerender-with-unmount 235 227 2
IconButton mount 1146 1130 5000
Label mount 349 348 5000
Layer mount 2746 2724 5000
Link mount 387 384 5000
MenuButton mount 990 983 5000
MessageBar mount 21357 21302 5000
Nav mount 2053 2013 1000
OverflowSet mount 796 777 5000
Panel mount 1778 1853 1000
Persona mount 730 763 1000
Pivot mount 921 888 1000
PrimaryButton mount 927 933 5000
Rating mount 4606 4717 5000
SearchBox mount 928 914 5000
Shimmer mount 1923 1891 5000
Slider mount 1325 1357 5000
SpinButton mount 2965 2990 5000
Spinner mount 388 399 5000
SplitButton mount 1851 1844 5000
Stack mount 425 424 5000
StackWithIntrinsicChildren mount 868 874 5000
StackWithTextChildren mount 2745 2767 5000
SwatchColorPicker mount 6414 6355 5000
TagPicker mount 1477 1473 5000
Text mount 395 397 5000
TextField mount 911 951 5000
ThemeProvider mount 860 860 5000
ThemeProvider virtual-rerender 584 579 5000
ThemeProvider virtual-rerender-with-unmount 1290 1323 5000
Toggle mount 596 614 5000
buttonNative mount 193 197 5000

@mainframev mainframev force-pushed the chore/ts-update branch 2 times, most recently from e8f410a to 877529c Compare September 18, 2024 13:41
@mainframev mainframev force-pushed the chore/ts-update branch 4 times, most recently from 5b938cd to 07f2011 Compare September 19, 2024 17:12
@radium-v
Copy link
Contributor

I don't think we want to set module to NodeNext for the tsconfigs related to the web-components package (except for tsconfig.spec.json, since Playwright tests run in a Node environment). We'll probably want to change the moduleResolution to Bundler instead. We may need to fix some type-only imports/exports for Storybook (its babel transpiler gets confused when types are imported as values) - I'll investigate and see if we can preemptively fix those issues.

@mainframev mainframev force-pushed the chore/ts-update branch 3 times, most recently from 9077cb5 to a0fca0f Compare October 17, 2024 14:32
@mainframev mainframev marked this pull request as ready for review October 18, 2024 09:34
yarn.lock Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
@Hotell
Copy link
Contributor

Hotell commented Oct 25, 2024

@radium-v

We may need to fix some type-only imports/exports for Storybook (its babel transpiler gets confused when types are imported as values)

wondering if you could switch to swc as the rest of the repo ? using babel is discouraged within this monorepo for anything in active development

We'll probably want to change the moduleResolution to Bundler instead

I don't recommend to do this. AFAIR it will no longer force you to explicitly provide .js extensions within import/export statements for production code == invalid ESM

gentle ping @radium-v

Copy link
Contributor

@Hotell Hotell left a comment

Choose a reason for hiding this comment

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

LGTM 🚀

@radium-v
Copy link
Contributor

Reviewing now! Sorry for the late response.

@radium-v
Copy link
Contributor

@Hotell addressing your concerns:

wondering if you could switch to swc as the rest of the repo ? using babel is discouraged within this monorepo for anything in active development

Babel is just an underlying dependency for the web components Storybook instance - we don't use it directly in any of our processes.

We'd have to redo the web components Storybook configuration in order to not use Babel. I mentioned before I'd prefer to switch our Storybook instance to use Vite, but that would have to be done as part of the migration to Storybook 8.

We'll probably want to change the moduleResolution to Bundler instead

I don't recommend to do this. AFAIR it will no longer force you to explicitly provide .js extensions within import/export statements for production code == invalid ESM

In order to use ESNext as the module, we have no choice but to use Bundler. NodeNext is not acceptable as module setting, since we're compiling for browser targets, not Node targets. NodeNext also allows require() calls, which we don't want. require() is already disallowed with an ESLint rule, and adding a rule to enforce file extensions can easily be added.

@mainframev mainframev self-assigned this Oct 30, 2024
@mainframev mainframev requested a review from radium-v October 30, 2024 13:56
@mainframev mainframev force-pushed the chore/ts-update branch 2 times, most recently from 6d651cb to 25abc7e Compare November 1, 2024 15:19
Copy link

github-actions bot commented Nov 1, 2024

Pull request demo site: URL

@mainframev mainframev merged commit d6af8e3 into microsoft:master Nov 4, 2024
18 checks passed
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.

6 participants