Skip to content

Conversation

@Hotell
Copy link
Contributor

@Hotell Hotell commented Oct 19, 2023

Pre-requirement

Previous Behavior

New Behavior

migrate to LTS node -> 18

  • please see commit messages for additional detail

Related Issue(s)

  • Fixes #

@Hotell Hotell changed the title Hotell/node 18 migration chore: migrate to node 18 Oct 19, 2023
@fabricteam
Copy link
Collaborator

fabricteam commented Oct 19, 2023

📊 Bundle size report

Unchanged fixtures
Package & Exports Size (minified/GZIP)
global-context
createContext
510 B
330 B
global-context
createContextSelector
537 B
342 B
priority-overflow
createOverflowManager
4.341 kB
1.81 kB
react-accordion
Accordion (including children components)
92.983 kB
28.418 kB
react-alert
Alert
84.293 kB
23.456 kB
react-avatar
Avatar
50.534 kB
15.923 kB
react-avatar
AvatarGroup
20.064 kB
7.894 kB
react-avatar
AvatarGroupItem
65.19 kB
20.259 kB
react-badge
Badge
27.264 kB
8.808 kB
react-badge
CounterBadge
28.165 kB
9.101 kB
react-badge
PresenceBadge
25.67 kB
9.313 kB
react-button
Button
40.074 kB
11.292 kB
react-button
CompoundButton
47.43 kB
12.787 kB
react-button
MenuButton
44.848 kB
12.668 kB
react-button
SplitButton
52.862 kB
14.254 kB
react-button
ToggleButton
57.122 kB
13.194 kB
react-calendar-compat
Calendar Compat
141.324 kB
36.821 kB
react-card
Card - All
92.955 kB
26.977 kB
react-card
Card
87.781 kB
25.462 kB
react-card
CardFooter
13.423 kB
5.481 kB
react-card
CardHeader
15.666 kB
6.235 kB
react-card
CardPreview
14.374 kB
5.854 kB
react-checkbox
Checkbox
37.505 kB
12.327 kB
react-combobox
Combobox (including child components)
91.781 kB
29.935 kB
react-combobox
Dropdown (including child components)
90.223 kB
29.601 kB
react-components
react-components: Button, FluentProvider & webLightTheme
70.002 kB
20.161 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
207.417 kB
59.289 kB
react-components
react-components: FluentProvider & webLightTheme
42.286 kB
14 kB
react-datepicker-compat
DatePicker Compat
212.494 kB
59.326 kB
react-dialog
Dialog (including children components)
94.473 kB
28.28 kB
react-divider
Divider
21.179 kB
7.839 kB
react-field
Field
22.788 kB
8.639 kB
react-image
Image
16.096 kB
6.317 kB
react-infobutton
InfoButton
130.729 kB
41.194 kB
react-infobutton
InfoLabel
134.413 kB
42.351 kB
react-input
Input
27.247 kB
9.194 kB
react-jsx-runtime
Classic Pragma
1.049 kB
531 B
react-jsx-runtime
JSX Dev Runtime
4.14 kB
1.741 kB
react-jsx-runtime
JSX Runtime
4.734 kB
1.983 kB
react-label
Label
14.508 kB
5.857 kB
react-link
Link
17.4 kB
6.977 kB
react-menu
Menu (including children components)
140.176 kB
43.004 kB
react-menu
Menu (including selectable components)
142.862 kB
43.51 kB
react-message-bar
MessageBar (all components)
25.54 kB
9.102 kB
react-overflow
hooks only
12.598 kB
4.754 kB
react-persona
Persona
57.425 kB
17.798 kB
react-popover
Popover
119.46 kB
37.714 kB
react-portal
Portal
12.4 kB
4.541 kB
react-portal-compat
PortalCompatProvider
6.651 kB
2.252 kB
react-positioning
usePositioning
25.305 kB
9.162 kB
react-progress
ProgressBar
17.788 kB
6.986 kB
react-provider
FluentProvider
22.831 kB
8.429 kB
react-radio
Radio
31.266 kB
10.267 kB
react-radio
RadioGroup
15.704 kB
6.35 kB
react-select
Select
28.968 kB
10.269 kB
react-slider
Slider
38.349 kB
12.595 kB
react-spinbutton
SpinButton
37.133 kB
11.856 kB
react-spinner
Spinner
23.762 kB
8.556 kB
react-switch
Switch
33.731 kB
10.899 kB
react-table
DataGrid
157.084 kB
43.906 kB
react-table
Table (Primitives only)
43.941 kB
13.76 kB
react-table
Table as DataGrid
130.165 kB
35.174 kB
react-table
Table (Selection only)
75.777 kB
20.477 kB
react-table
Table (Sort only)
74.384 kB
20.075 kB
react-tags
InteractionTag
15.618 kB
6.152 kB
react-tags
Tag
30.341 kB
9.505 kB
react-tags
TagGroup
73.816 kB
22.097 kB
react-text
Text - Default
17.065 kB
6.645 kB
react-text
Text - Wrappers
20.237 kB
6.965 kB
react-textarea
Textarea
31.306 kB
10.549 kB
react-theme
Single theme token import
69 B
89 B
react-theme
Teams: all themes
34.611 kB
7.295 kB
react-theme
Teams: Light theme
19.282 kB
5.486 kB
react-toast
Toast (including Toaster)
92.725 kB
27.876 kB
react-tooltip
Tooltip
52.466 kB
18.466 kB
react-utilities
SSRProvider
180 B
159 B
🤖 This report was generated against d22e99a22d1e52347c3c0a8c9cd1ff870b528a9d

@fabricteam
Copy link
Collaborator

fabricteam commented Oct 19, 2023

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 670 608 5000
Button mount 320 322 5000
Field mount 1112 1134 5000
FluentProvider mount 715 709 5000
FluentProviderWithTheme mount 80 85 10
FluentProviderWithTheme virtual-rerender 63 63 10
FluentProviderWithTheme virtual-rerender-with-unmount 82 73 10
MakeStyles mount 880 858 50000
Persona mount 1741 1725 5000
SpinButton mount 1410 1396 5000

@fabricteam
Copy link
Collaborator

fabricteam commented Oct 19, 2023

🕵 fluentuiv8 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Oct 19, 2023

Perf Analysis (@fluentui/react-northstar)

⚠️ 1 potential perf regressions detected

Potential regressions comparing to master

Scenario Current PR Ticks Baseline Ticks Ratio Regression Analysis
FlexMinimalPerf.default 151 151 1:1 analysis
Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
AccordionMinimalPerf.default 86 71 1.21:1
RefMinimalPerf.default 109 99 1.1:1
AttachmentMinimalPerf.default 81 74 1.09:1
CarouselMinimalPerf.default 271 248 1.09:1
SegmentMinimalPerf.default 207 191 1.08:1
BoxMinimalPerf.default 202 188 1.07:1
ButtonSlotsPerf.default 328 306 1.07:1
PopupMinimalPerf.default 374 351 1.07:1
TooltipMinimalPerf.default 1276 1197 1.07:1
TreeWith60ListItems.default 81 76 1.07:1
ChatWithPopoverPerf.default 201 190 1.06:1
GridMinimalPerf.default 201 190 1.06:1
HeaderSlotsPerf.default 484 458 1.06:1
LabelMinimalPerf.default 233 219 1.06:1
MenuMinimalPerf.default 510 483 1.06:1
PortalMinimalPerf.default 84 79 1.06:1
TextMinimalPerf.default 198 187 1.06:1
DialogMinimalPerf.default 457 436 1.05:1
HeaderMinimalPerf.default 221 211 1.05:1
ImageMinimalPerf.default 221 210 1.05:1
LayoutMinimalPerf.default 207 198 1.05:1
ReactionMinimalPerf.default 217 206 1.05:1
AttachmentSlotsPerf.default 668 640 1.04:1
CardMinimalPerf.default 315 303 1.04:1
FormMinimalPerf.default 225 216 1.04:1
ItemLayoutMinimalPerf.default 712 686 1.04:1
SplitButtonMinimalPerf.default 2275 2196 1.04:1
VideoMinimalPerf.default 435 419 1.04:1
AnimationMinimalPerf.default 307 297 1.03:1
ListMinimalPerf.default 310 300 1.03:1
ProviderMinimalPerf.default 203 197 1.03:1
TableManyItemsPerf.default 1137 1101 1.03:1
ToolbarMinimalPerf.default 542 524 1.03:1
ButtonMinimalPerf.default 89 87 1.02:1
ButtonOverridesMissPerf.default 652 641 1.02:1
CheckboxMinimalPerf.default 1158 1132 1.02:1
DatepickerMinimalPerf.default 3713 3643 1.02:1
ListCommonPerf.default 389 383 1.02:1
LoaderMinimalPerf.default 197 194 1.02:1
MenuButtonMinimalPerf.default 977 961 1.02:1
TextAreaMinimalPerf.default 290 283 1.02:1
ChatMinimalPerf.default 428 423 1.01:1
DropdownMinimalPerf.default 1438 1428 1.01:1
EmbedMinimalPerf.default 1881 1856 1.01:1
RadioGroupMinimalPerf.default 271 267 1.01:1
SliderMinimalPerf.default 759 760 1:1
TableMinimalPerf.default 237 236 1:1
CustomToolbarPrototype.default 1474 1475 1:1
TreeMinimalPerf.default 483 482 1:1
ChatDuplicateMessagesPerf.default 150 151 0.99:1
DropdownManyItemsPerf.default 387 389 0.99:1
ListWith60ListItems.default 366 368 0.99:1
ProviderMergeThemesPerf.default 645 650 0.99:1
AlertMinimalPerf.default 153 156 0.98:1
RosterPerf.default 1569 1594 0.98:1
SkeletonMinimalPerf.default 192 196 0.98:1
StatusMinimalPerf.default 391 397 0.98:1
DividerMinimalPerf.default 202 208 0.97:1
InputMinimalPerf.default 528 547 0.97:1
ListNestedPerf.default 326 337 0.97:1
AvatarMinimalPerf.default 106 110 0.96:1
IconMinimalPerf.default 378 399 0.95:1

@fabricteam
Copy link
Collaborator

fabricteam commented Oct 19, 2023

🕵 FluentUIV0 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Oct 19, 2023

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 634 641 5000
Breadcrumb mount 1662 1696 1000
Checkbox mount 1688 1705 5000
CheckboxBase mount 1455 1493 5000
ChoiceGroup mount 2928 2961 5000
ComboBox mount 677 670 1000
CommandBar mount 6334 6259 1000
ContextualMenu mount 13568 13188 1000
DefaultButton mount 743 748 5000
DetailsRow mount 2221 2212 5000
DetailsRowFast mount 2239 2210 5000
DetailsRowNoStyles mount 2021 2024 5000
Dialog mount 2651 2644 1000
DocumentCardTitle mount 227 223 1000
Dropdown mount 1973 1988 5000
FocusTrapZone mount 1153 1142 5000
FocusZone mount 1044 1101 5000
GroupedList mount 41818 41661 2
GroupedList virtual-rerender 20156 20018 2
GroupedList virtual-rerender-with-unmount 51990 51280 2
GroupedListV2 mount 216 236 2
GroupedListV2 virtual-rerender 218 209 2
GroupedListV2 virtual-rerender-with-unmount 231 234 2
IconButton mount 1103 1055 5000
Label mount 345 334 5000
Layer mount 2710 2743 5000
Link mount 386 392 5000
MenuButton mount 950 908 5000
MessageBar mount 21902 21823 5000
Nav mount 1964 1965 1000
OverflowSet mount 789 777 5000
Panel mount 1820 1840 1000
Persona mount 746 752 1000
Pivot mount 867 865 1000
PrimaryButton mount 873 834 5000
Rating mount 4564 4578 5000
SearchBox mount 941 903 5000
Shimmer mount 1868 1842 5000
Slider mount 1326 1302 5000
SpinButton mount 2954 2953 5000
Spinner mount 391 392 5000
SplitButton mount 1800 1828 5000
Stack mount 417 408 5000
StackWithIntrinsicChildren mount 849 863 5000
StackWithTextChildren mount 2642 2623 5000
SwatchColorPicker mount 6180 6170 5000
TagPicker mount 1481 1514 5000
Text mount 365 375 5000
TextField mount 941 933 5000
ThemeProvider mount 878 842 5000
ThemeProvider virtual-rerender 603 602 5000
ThemeProvider virtual-rerender-with-unmount 1300 1267 5000
Toggle mount 605 599 5000
buttonNative mount 183 201 5000

@codesandbox-ci
Copy link

codesandbox-ci bot commented Oct 19, 2023

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 0b0fa9c:

Sandbox Source
@fluentui/react 8 starter Configuration
@fluentui/react-components 9 starter Configuration

@fabricteam
Copy link
Collaborator

fabricteam commented Oct 19, 2023

🕵 fluentuiv9 No visual regressions between this PR and main

@Hotell Hotell force-pushed the hotell/node-18-migration branch from 1413648 to 54d327c Compare October 20, 2023 08:58
@size-auditor
Copy link

size-auditor bot commented Oct 20, 2023

Asset size changes

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

Baseline commit: d22e99a22d1e52347c3c0a8c9cd1ff870b528a9d (build)

@Hotell Hotell force-pushed the hotell/node-18-migration branch 2 times, most recently from 14bbcac to e03f4bd Compare October 23, 2023 12:06
@Hotell Hotell marked this pull request as ready for review October 23, 2023 14:40
@Hotell Hotell requested review from a team as code owners October 23, 2023 14:40
@Hotell Hotell force-pushed the hotell/node-18-migration branch from 16a975c to 0b0fa9c Compare October 25, 2023 16:50
@Hotell Hotell merged commit 9dce1d4 into microsoft:master Oct 27, 2023
@Hotell Hotell deleted the hotell/node-18-migration branch October 27, 2023 07:34
TristanWatanabe pushed a commit to TristanWatanabe/fluentui that referenced this pull request Dec 7, 2023
* chore: migrate to node 18

* chore: bump eslint-plugin-jsdoc which support node 18

* generate changefile

* chore: ignore plugin-jsdoc from syncpack

* chore(utilities): use Timers types based on environment to avoid TS failures introduced with node 18 types

* chore: bump babel-loader to mitigate '0308010c:digital envelope routines::unsupported' webpack error within local-sandbox

* generate changefiles
TristanWatanabe added a commit that referenced this pull request Dec 13, 2023
* chore: migrate to node 18 (#29598)

* chore: migrate to node 18

* chore: bump eslint-plugin-jsdoc which support node 18

* generate changefile

* chore: ignore plugin-jsdoc from syncpack

* chore(utilities): use Timers types based on environment to avoid TS failures introduced with node 18 types

* chore: bump babel-loader to mitigate '0308010c:digital envelope routines::unsupported' webpack error within local-sandbox

* generate changefiles

* restrict node version

* update yarn.lock

* ci: bump devcontainer to node 18 (#29759)

* deduplicate semver

* theme designers: changes based on dan and daisy's feedback (#24038)

* for daisy: Can the default theme be the Web one (not Teams)? Web should be the first one selected by default. Teams is one option in the menu.

* suggestion from dan: when he inputted his own custom Hex#, the color indicator to the right didn't change -- added rules to hex input

* remove teams theme

* capitalize for consistency

* custom theme now applies to sidebar per dan's request

* uppercase consistency

* revert sidebar change

* theme designer: make name editable (#24098)

* add dropdown

* Update yarn.lock

* cleanup dropdown use

* lock update

* remove unread values

* use dropdown + add avatar

* add editable name

* palette change

* force alphanumeric

* filter input name string

* update name

* revert palette change

Co-authored-by: Micah Godbolt <[email protected]>

* Theme designer: Move colors to local files (#27191)

* move colors code locally to allow for customization

* clean up files

* deduplicate prettier

* fix: UseNode@1 instead of NodeTool

* format files

* chore: bump babel-loader to mitigate '0308010c:digital envelope routines::unsupported' webpack error within local-sandbox

* update yarn.lock

* chore: comment out unused codeblock to fix TS transpile errors

---------

Co-authored-by: Martin Hochel <[email protected]>
Co-authored-by: Emma Jiang <[email protected]>
Co-authored-by: Micah Godbolt <[email protected]>
chrisdholt pushed a commit that referenced this pull request Apr 29, 2024
* chore: migrate to node 18 (#29598)

* chore: migrate to node 18

* chore: bump eslint-plugin-jsdoc which support node 18

* generate changefile

* chore: ignore plugin-jsdoc from syncpack

* chore(utilities): use Timers types based on environment to avoid TS failures introduced with node 18 types

* chore: bump babel-loader to mitigate '0308010c:digital envelope routines::unsupported' webpack error within local-sandbox

* generate changefiles

* restrict node version

* update yarn.lock

* ci: bump devcontainer to node 18 (#29759)

* deduplicate semver

* theme designers: changes based on dan and daisy's feedback (#24038)

* for daisy: Can the default theme be the Web one (not Teams)? Web should be the first one selected by default. Teams is one option in the menu.

* suggestion from dan: when he inputted his own custom Hex#, the color indicator to the right didn't change -- added rules to hex input

* remove teams theme

* capitalize for consistency

* custom theme now applies to sidebar per dan's request

* uppercase consistency

* revert sidebar change

* theme designer: make name editable (#24098)

* add dropdown

* Update yarn.lock

* cleanup dropdown use

* lock update

* remove unread values

* use dropdown + add avatar

* add editable name

* palette change

* force alphanumeric

* filter input name string

* update name

* revert palette change

Co-authored-by: Micah Godbolt <[email protected]>

* Theme designer: Move colors to local files (#27191)

* move colors code locally to allow for customization

* clean up files

* deduplicate prettier

* fix: UseNode@1 instead of NodeTool

* format files

* chore: bump babel-loader to mitigate '0308010c:digital envelope routines::unsupported' webpack error within local-sandbox

* update yarn.lock

* chore: comment out unused codeblock to fix TS transpile errors

---------

Co-authored-by: Martin Hochel <[email protected]>
Co-authored-by: Emma Jiang <[email protected]>
Co-authored-by: Micah Godbolt <[email protected]>
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.

3 participants