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 NodeJS v16 #27711

Merged
merged 5 commits into from
Apr 27, 2023

Conversation

Hotell
Copy link
Contributor

@Hotell Hotell commented Apr 27, 2023

New Behavior

  • we no longer support NodeJS v14
  • repo Node environment constraint is now set to v16 as minimum + optional node LTS (v18)
  • CI uses our lowest supported node version which is 16.18.1

Related Issue(s)

@size-auditor
Copy link

size-auditor bot commented Apr 27, 2023

Asset size changes

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

Baseline commit: 3c57318b3fb834ae7c541a64d3de4da05cd04750 (build)

@codesandbox-ci
Copy link

codesandbox-ci bot commented Apr 27, 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 979d86f:

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

@fabricteam
Copy link
Collaborator

fabricteam commented Apr 27, 2023

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 869 872 5000
Button mount 471 473 5000
Field mount 1622 1580 5000
FluentProvider mount 1139 1109 5000
FluentProviderWithTheme mount 136 138 10
FluentProviderWithTheme virtual-rerender 119 118 10
FluentProviderWithTheme virtual-rerender-with-unmount 131 130 10
InfoButton mount 24 21 5000
MakeStyles mount 1428 1399 50000
Persona mount 2544 2449 5000
SpinButton mount 1944 1986 5000

@fabricteam
Copy link
Collaborator

fabricteam commented Apr 27, 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
PortalMinimalPerf.default 123 120 1.02:1 analysis
Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
AttachmentMinimalPerf.default 109 99 1.1:1
RefMinimalPerf.default 153 141 1.09:1
ChatDuplicateMessagesPerf.default 199 186 1.07:1
TextMinimalPerf.default 254 237 1.07:1
AlertMinimalPerf.default 206 197 1.05:1
CarouselMinimalPerf.default 359 343 1.05:1
TableMinimalPerf.default 309 295 1.05:1
ChatWithPopoverPerf.default 244 234 1.04:1
FlexMinimalPerf.default 204 196 1.04:1
BoxMinimalPerf.default 252 245 1.03:1
ChatMinimalPerf.default 547 533 1.03:1
DatepickerMinimalPerf.default 4890 4728 1.03:1
DividerMinimalPerf.default 263 256 1.03:1
LabelMinimalPerf.default 281 274 1.03:1
ListCommonPerf.default 504 488 1.03:1
ReactionMinimalPerf.default 269 261 1.03:1
SegmentMinimalPerf.default 253 245 1.03:1
StatusMinimalPerf.default 510 496 1.03:1
ButtonMinimalPerf.default 107 105 1.02:1
DropdownManyItemsPerf.default 501 493 1.02:1
FormMinimalPerf.default 280 275 1.02:1
ImageMinimalPerf.default 295 289 1.02:1
RosterPerf.default 1857 1821 1.02:1
IconMinimalPerf.default 463 455 1.02:1
AttachmentSlotsPerf.default 836 828 1.01:1
AvatarMinimalPerf.default 138 136 1.01:1
ButtonSlotsPerf.default 405 400 1.01:1
DialogMinimalPerf.default 583 576 1.01:1
InputMinimalPerf.default 724 719 1.01:1
ItemLayoutMinimalPerf.default 913 907 1.01:1
ListMinimalPerf.default 377 373 1.01:1
PopupMinimalPerf.default 461 457 1.01:1
ProviderMinimalPerf.default 281 277 1.01:1
RadioGroupMinimalPerf.default 329 327 1.01:1
SkeletonMinimalPerf.default 254 252 1.01:1
SplitButtonMinimalPerf.default 3035 3016 1.01:1
TableManyItemsPerf.default 1439 1418 1.01:1
TextAreaMinimalPerf.default 359 354 1.01:1
ToolbarMinimalPerf.default 658 653 1.01:1
AnimationMinimalPerf.default 360 361 1:1
CheckboxMinimalPerf.default 1574 1568 1:1
DropdownMinimalPerf.default 1836 1843 1:1
EmbedMinimalPerf.default 2397 2397 1:1
GridMinimalPerf.default 242 241 1:1
ListNestedPerf.default 412 410 1:1
MenuButtonMinimalPerf.default 1263 1269 1:1
ProviderMergeThemesPerf.default 978 976 1:1
TooltipMinimalPerf.default 1618 1611 1:1
TreeMinimalPerf.default 596 596 1:1
ButtonOverridesMissPerf.default 822 828 0.99:1
CardMinimalPerf.default 373 376 0.99:1
HeaderMinimalPerf.default 267 270 0.99:1
HeaderSlotsPerf.default 577 584 0.99:1
MenuMinimalPerf.default 618 625 0.99:1
SliderMinimalPerf.default 908 917 0.99:1
CustomToolbarPrototype.default 1913 1923 0.99:1
ListWith60ListItems.default 465 484 0.96:1
TreeWith60ListItems.default 109 114 0.96:1
LayoutMinimalPerf.default 252 264 0.95:1
VideoMinimalPerf.default 515 546 0.94:1
AccordionMinimalPerf.default 103 111 0.93:1
LoaderMinimalPerf.default 232 253 0.92:1

@fabricteam
Copy link
Collaborator

fabricteam commented Apr 27, 2023

📊 Bundle size report

Unchanged fixtures
Package & Exports Size (minified/GZIP)
global-context
createContext
533 B
341 B
global-context
createContextSelector
560 B
352 B
priority-overflow
createOverflowManager
3.194 kB
1.314 kB
react-accordion
Accordion (including children components)
86.012 kB
26.086 kB
react-alert
Alert
93.779 kB
22.493 kB
react-avatar
Avatar
57.544 kB
14.966 kB
react-avatar
AvatarGroup
15.632 kB
6.258 kB
react-avatar
AvatarGroupItem
73.758 kB
19.478 kB
react-badge
Badge
23.512 kB
7.197 kB
react-badge
CounterBadge
24.416 kB
7.506 kB
react-badge
PresenceBadge
31.904 kB
8.296 kB
react-button
Button
37.179 kB
9.534 kB
react-button
CompoundButton
44.328 kB
11.016 kB
react-button
MenuButton
41.866 kB
10.861 kB
react-button
SplitButton
50.254 kB
12.441 kB
react-button
ToggleButton
55.397 kB
11.435 kB
react-card
Card - All
86.061 kB
24.345 kB
react-card
Card
80.997 kB
22.895 kB
react-card
CardFooter
9.158 kB
3.844 kB
react-card
CardHeader
11.048 kB
4.538 kB
react-card
CardPreview
9.963 kB
4.192 kB
react-checkbox
Checkbox
34.216 kB
10.784 kB
react-combobox
Combobox (including child components)
87.199 kB
28.095 kB
react-combobox
Dropdown (including child components)
85.583 kB
27.692 kB
react-components
react-components: Button, FluentProvider & webLightTheme
65.31 kB
17.931 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
204.34 kB
57.141 kB
react-components
react-components: FluentProvider & webLightTheme
36.086 kB
11.9 kB
react-datepicker-compat
DatePicker Compat
220.251 kB
58.471 kB
react-dialog
Dialog (including children components)
90.867 kB
27.047 kB
react-divider
Divider
17.399 kB
6.298 kB
react-field
Field
18.864 kB
7.004 kB
react-image
Image
11.479 kB
4.573 kB
react-infobutton
InfoButton
127.925 kB
39.003 kB
react-infobutton
InfoLabel
131.208 kB
39.996 kB
react-input
Input
23.972 kB
7.676 kB
react-label
Label
10.104 kB
4.185 kB
react-link
Link
12.357 kB
5.091 kB
react-menu
Menu (including children components)
128.202 kB
39.18 kB
react-menu
Menu (including selectable components)
131.186 kB
39.696 kB
react-overflow
hooks only
11.214 kB
4.271 kB
react-persona
Persona
64.465 kB
16.892 kB
react-popover
Popover
114.917 kB
35.388 kB
react-portal
Portal
11.649 kB
4.262 kB
react-portal-compat
PortalCompatProvider
6.446 kB
2.186 kB
react-positioning
usePositioning
24.008 kB
8.798 kB
react-progress
ProgressBar
13.856 kB
5.434 kB
react-provider
FluentProvider
18.033 kB
6.666 kB
react-radio
Radio
27.282 kB
8.661 kB
react-radio
RadioGroup
11.312 kB
4.71 kB
react-select
Select
25.357 kB
8.798 kB
react-slider
Slider
34.112 kB
11.018 kB
react-spinbutton
SpinButton
33.882 kB
10.325 kB
react-spinner
Spinner
20.882 kB
6.798 kB
react-switch
Switch
29.806 kB
9.274 kB
react-table
DataGrid
147.659 kB
40.567 kB
react-table
Table (Primitives only)
44.348 kB
12.347 kB
react-table
Table as DataGrid
130.218 kB
33.128 kB
react-table
Table (Selection only)
78.132 kB
19.127 kB
react-table
Table (Sort only)
77.462 kB
18.939 kB
react-text
Text - Default
12.492 kB
4.92 kB
react-text
Text - Wrappers
15.63 kB
5.25 kB
react-textarea
Textarea
27.399 kB
9.041 kB
react-theme
Single theme token import
69 B
89 B
react-theme
Teams: all themes
31.33 kB
6.764 kB
react-theme
Teams: Light theme
17.895 kB
5.162 kB
react-tooltip
Tooltip
46.656 kB
16.369 kB
react-utilities
SSRProvider
180 B
159 B
🤖 This report was generated against 3c57318b3fb834ae7c541a64d3de4da05cd04750

@fabricteam
Copy link
Collaborator

fabricteam commented Apr 27, 2023

🕵 fluentuiv9 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

fabricteam commented Apr 27, 2023

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 780 709 5000
Breadcrumb mount 2125 2009 1000
Checkbox mount 2114 1924 5000
CheckboxBase mount 1896 1747 5000
ChoiceGroup mount 3451 3667 5000
ComboBox mount 847 786 1000
CommandBar mount 7621 7796 1000
ContextualMenu mount 15974 15170 1000
DefaultButton mount 934 864 5000
DetailsRow mount 2911 2579 5000
DetailsRowFast mount 2684 2635 5000
DetailsRowNoStyles mount 2589 2481 5000
Dialog mount 3217 3315 1000
DocumentCardTitle mount 326 315 1000
Dropdown mount 2424 2245 5000
FocusTrapZone mount 1473 1324 5000
FocusZone mount 1351 1346 5000
GroupedList mount 43669 46884 2
GroupedList virtual-rerender 23100 22872 2
GroupedList virtual-rerender-with-unmount 72083 71932 2
GroupedListV2 mount 310 318 2
GroupedListV2 virtual-rerender 298 295 2
GroupedListV2 virtual-rerender-with-unmount 294 313 2
IconButton mount 1412 1243 5000
Label mount 459 438 5000
Layer mount 3505 3497 5000
Link mount 504 527 5000
MenuButton mount 1236 1119 5000
MessageBar mount 27658 27692 5000
Nav mount 2478 2581 1000
OverflowSet mount 970 998 5000
Panel mount 2189 2231 1000
Persona mount 861 871 1000
Pivot mount 1062 1158 1000
PrimaryButton mount 1061 1085 5000
Rating mount 5718 5126 5000
SearchBox mount 1072 1157 5000
Shimmer mount 2107 2276 5000
Slider mount 1563 1709 5000
SpinButton mount 3435 3687 5000
Spinner mount 465 524 5000
SplitButton mount 2440 2428 5000
Stack mount 508 555 5000
StackWithIntrinsicChildren mount 1022 1030 5000
StackWithTextChildren mount 3068 3140 5000
SwatchColorPicker mount 7891 7835 5000
TagPicker mount 1979 1981 5000
Text mount 496 459 5000
TextField mount 1177 1063 5000
ThemeProvider mount 1120 1112 5000
ThemeProvider virtual-rerender 772 690 5000
ThemeProvider virtual-rerender-with-unmount 1713 1553 5000
Toggle mount 712 771 5000
buttonNative mount 272 250 5000

@fabricteam
Copy link
Collaborator

🕵 fluentuiv8 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

🕵 FluentUI-v0 No visual regressions between this PR and main

@Hotell Hotell marked this pull request as ready for review April 27, 2023 11:44
@Hotell Hotell requested review from a team as code owners April 27, 2023 11:44
@Hotell Hotell merged commit 09937fe into microsoft:master Apr 27, 2023
@Hotell Hotell deleted the hotell/build/faster-ci/node-16 branch April 27, 2023 11:49
marcosmoura added a commit to marcosmoura/fluentui that referenced this pull request Apr 27, 2023
* master:
  chore: enforce files naming to use .styles.ts [cxe-prg files] (microsoft#27707)
  chore: migrate to NodeJS v16 (microsoft#27711)
  remove react-avatar-context package (microsoft#27709)
  test: migrate all v9 libraries to use new conformance setup which improves test execution by approx 46% (microsoft#27669)
  chore: Add caret to react-datepicker-compat dependencies (microsoft#27671)
  test(fluentui/react): fix initial global leaks that were causing OOM issues (microsoft#27661)
  chore(react-utilities): simplifies useControllableState hook internals (microsoft#27702)
  chore: enforce files naming to use .styles.ts (microsoft#27698)
  feat: adds lazy loading example (microsoft#27587)
  feat: react-combobox space conditionally inserts character when freeform is true (microsoft#27025)
  chore(react-tree): updates useOpenItemsState internals (microsoft#27697)
  feat(tools): add conformance setup migration to migrate-converged-pkg generator (microsoft#27668)
  test: use `isolatedModules` for all ts-jest configs to lower memory footprint on CI (microsoft#27670)
  chore: bump @griffel/eslint-plugin & enable @griffel/hook-naming (microsoft#27687)
  feat(react-tree): makes useFlatTree generic (microsoft#27682)
  Enable export to codepen for charting library (microsoft#27539)
  Overflow: added useOverflowCount to exports (microsoft#27678)
  fix: Menu should not steal focus on re-render (microsoft#27688)
  feat(react-conformance): add new TS config api to be able to specify configName and configDir (microsoft#27664)
marcosmoura added a commit to marcosmoura/fluentui that referenced this pull request Apr 27, 2023
* feat/drawer-components: (28 commits)
  docs: update API
  feat: add style overrides for upcoming drawer components
  feat: add support to override drawer styles
  fix: prevent elements from stretching
  chore: upgrade devcontainer node version to 16 (microsoft#27716)
  fix: rename styles file to use the newer naming conventions
  test: add cypress tests for scroll positions
  chore: enforce files naming to use .styles.ts [cxe-prg files] (microsoft#27707)
  feat: add support to override drawer body styles
  chore: migrate to NodeJS v16 (microsoft#27711)
  remove react-avatar-context package (microsoft#27709)
  test: migrate all v9 libraries to use new conformance setup which improves test execution by approx 46% (microsoft#27669)
  chore: Add caret to react-datepicker-compat dependencies (microsoft#27671)
  test(fluentui/react): fix initial global leaks that were causing OOM issues (microsoft#27661)
  chore(react-utilities): simplifies useControllableState hook internals (microsoft#27702)
  chore: enforce files naming to use .styles.ts (microsoft#27698)
  feat: adds lazy loading example (microsoft#27587)
  feat: react-combobox space conditionally inserts character when freeform is true (microsoft#27025)
  chore(react-tree): updates useOpenItemsState internals (microsoft#27697)
  feat(tools): add conformance setup migration to migrate-converged-pkg generator (microsoft#27668)
  ...
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.

ci: migrate to node 16
4 participants