feat(react-conformance): add new TS config api to be able to specify configName and configDir#27664
Merged
Hotell merged 3 commits intomicrosoft:masterfrom Apr 25, 2023
Conversation
Collaborator
📊 Bundle size reportUnchanged fixtures
|
a6d9ad6 to
22ce33a
Compare
Collaborator
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| Avatar | mount | 835 | 817 | 5000 | |
| Button | mount | 451 | 429 | 5000 | |
| Field | mount | 1505 | 1540 | 5000 | |
| FluentProvider | mount | 1070 | 1095 | 5000 | |
| FluentProviderWithTheme | mount | 139 | 128 | 10 | |
| FluentProviderWithTheme | virtual-rerender | 108 | 113 | 10 | |
| FluentProviderWithTheme | virtual-rerender-with-unmount | 126 | 126 | 10 | |
| InfoButton | mount | 25 | 19 | 5000 | |
| MakeStyles | mount | 1328 | 1323 | 50000 | |
| Persona | mount | 2374 | 2329 | 5000 | |
| SpinButton | mount | 1897 | 1866 | 5000 |
Collaborator
Perf Analysis (
|
| Scenario | Current PR Ticks | Baseline Ticks | Ratio |
|---|---|---|---|
| ButtonMinimalPerf.default | 131 | 115 | 1.14:1 |
| TooltipMinimalPerf.default | 1939 | 1820 | 1.07:1 |
| AlertMinimalPerf.default | 235 | 221 | 1.06:1 |
| LabelMinimalPerf.default | 336 | 318 | 1.06:1 |
| ButtonSlotsPerf.default | 490 | 467 | 1.05:1 |
| LoaderMinimalPerf.default | 285 | 272 | 1.05:1 |
| PortalMinimalPerf.default | 133 | 127 | 1.05:1 |
| RefMinimalPerf.default | 166 | 158 | 1.05:1 |
| TextMinimalPerf.default | 289 | 275 | 1.05:1 |
| VideoMinimalPerf.default | 618 | 589 | 1.05:1 |
| AvatarMinimalPerf.default | 157 | 151 | 1.04:1 |
| ListMinimalPerf.default | 446 | 429 | 1.04:1 |
| ChatDuplicateMessagesPerf.default | 230 | 224 | 1.03:1 |
| ChatMinimalPerf.default | 612 | 596 | 1.03:1 |
| FlexMinimalPerf.default | 238 | 232 | 1.03:1 |
| ListWith60ListItems.default | 549 | 535 | 1.03:1 |
| IconMinimalPerf.default | 549 | 531 | 1.03:1 |
| TreeMinimalPerf.default | 677 | 658 | 1.03:1 |
| AnimationMinimalPerf.default | 428 | 419 | 1.02:1 |
| CardMinimalPerf.default | 443 | 436 | 1.02:1 |
| EmbedMinimalPerf.default | 2807 | 2758 | 1.02:1 |
| PopupMinimalPerf.default | 527 | 516 | 1.02:1 |
| ProviderMergeThemesPerf.default | 1147 | 1123 | 1.02:1 |
| AttachmentSlotsPerf.default | 951 | 945 | 1.01:1 |
| ButtonOverridesMissPerf.default | 982 | 968 | 1.01:1 |
| DropdownMinimalPerf.default | 2088 | 2068 | 1.01:1 |
| FormMinimalPerf.default | 317 | 315 | 1.01:1 |
| HeaderSlotsPerf.default | 677 | 670 | 1.01:1 |
| InputMinimalPerf.default | 845 | 837 | 1.01:1 |
| ListNestedPerf.default | 482 | 476 | 1.01:1 |
| ReactionMinimalPerf.default | 311 | 307 | 1.01:1 |
| SkeletonMinimalPerf.default | 297 | 294 | 1.01:1 |
| SplitButtonMinimalPerf.default | 3520 | 3482 | 1.01:1 |
| CustomToolbarPrototype.default | 2196 | 2177 | 1.01:1 |
| AccordionMinimalPerf.default | 115 | 115 | 1:1 |
| CheckboxMinimalPerf.default | 1854 | 1853 | 1:1 |
| DatepickerMinimalPerf.default | 5157 | 5132 | 1:1 |
| DialogMinimalPerf.default | 663 | 665 | 1:1 |
| DropdownManyItemsPerf.default | 570 | 568 | 1:1 |
| GridMinimalPerf.default | 290 | 289 | 1:1 |
| ItemLayoutMinimalPerf.default | 1048 | 1051 | 1:1 |
| MenuButtonMinimalPerf.default | 1448 | 1454 | 1:1 |
| RosterPerf.default | 2157 | 2156 | 1:1 |
| AttachmentMinimalPerf.default | 114 | 115 | 0.99:1 |
| BoxMinimalPerf.default | 284 | 287 | 0.99:1 |
| CarouselMinimalPerf.default | 396 | 399 | 0.99:1 |
| ChatWithPopoverPerf.default | 274 | 278 | 0.99:1 |
| LayoutMinimalPerf.default | 300 | 302 | 0.99:1 |
| MenuMinimalPerf.default | 712 | 717 | 0.99:1 |
| ProviderMinimalPerf.default | 317 | 320 | 0.99:1 |
| StatusMinimalPerf.default | 585 | 589 | 0.99:1 |
| TableManyItemsPerf.default | 1652 | 1661 | 0.99:1 |
| TextAreaMinimalPerf.default | 394 | 396 | 0.99:1 |
| HeaderMinimalPerf.default | 301 | 307 | 0.98:1 |
| ToolbarMinimalPerf.default | 757 | 775 | 0.98:1 |
| DividerMinimalPerf.default | 291 | 301 | 0.97:1 |
| ImageMinimalPerf.default | 318 | 328 | 0.97:1 |
| RadioGroupMinimalPerf.default | 377 | 388 | 0.97:1 |
| SliderMinimalPerf.default | 1037 | 1070 | 0.97:1 |
| TreeWith60ListItems.default | 119 | 123 | 0.97:1 |
| ListCommonPerf.default | 578 | 602 | 0.96:1 |
| SegmentMinimalPerf.default | 276 | 292 | 0.95:1 |
| TableMinimalPerf.default | 325 | 341 | 0.95:1 |
Asset size changesSize Auditor did not detect a change in bundle size for any component! Baseline commit: 51767fd6bcd9fedcfe6e4b4735fdf13a1f1174bb (build) |
|
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 e12ed12:
|
Collaborator
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| BaseButton | mount | 1062 | 1083 | 5000 | |
| Breadcrumb | mount | 2733 | 2731 | 1000 | |
| Checkbox | mount | 2737 | 2745 | 5000 | |
| CheckboxBase | mount | 2449 | 2534 | 5000 | |
| ChoiceGroup | mount | 5101 | 4874 | 5000 | |
| ComboBox | mount | 1151 | 1125 | 1000 | |
| CommandBar | mount | 9926 | 10028 | 1000 | |
| ContextualMenu | mount | 22577 | 22556 | 1000 | |
| DefaultButton | mount | 1229 | 1266 | 5000 | |
| DetailsRow | mount | 3732 | 3729 | 5000 | |
| DetailsRowFast | mount | 3766 | 3776 | 5000 | |
| DetailsRowNoStyles | mount | 3515 | 3473 | 5000 | |
| Dialog | mount | 4382 | 4323 | 1000 | |
| DocumentCardTitle | mount | 382 | 401 | 1000 | |
| Dropdown | mount | 3273 | 3223 | 5000 | |
| FocusTrapZone | mount | 1883 | 1942 | 5000 | |
| FocusZone | mount | 1867 | 1888 | 5000 | |
| GroupedList | mount | 71275 | 85049 | 2 | |
| GroupedList | virtual-rerender | 34661 | 34689 | 2 | |
| GroupedList | virtual-rerender-with-unmount | 91600 | 91053 | 2 | |
| GroupedListV2 | mount | 381 | 378 | 2 | |
| GroupedListV2 | virtual-rerender | 351 | 357 | 2 | |
| GroupedListV2 | virtual-rerender-with-unmount | 385 | 380 | 2 | |
| IconButton | mount | 1862 | 1895 | 5000 | |
| Label | mount | 552 | 557 | 5000 | |
| Layer | mount | 4657 | 4573 | 5000 | |
| Link | mount | 646 | 670 | 5000 | |
| MenuButton | mount | 1629 | 1613 | 5000 | |
| MessageBar | mount | 34375 | 33392 | 5000 | |
| Nav | mount | 3324 | 3347 | 1000 | |
| OverflowSet | mount | 1310 | 1300 | 5000 | |
| Panel | mount | 2788 | 2792 | 1000 | |
| Persona | mount | 1251 | 1221 | 1000 | |
| Pivot | mount | 1467 | 1479 | 1000 | |
| PrimaryButton | mount | 1381 | 1415 | 5000 | |
| Rating | mount | 7620 | 7698 | 5000 | |
| SearchBox | mount | 1539 | 1523 | 5000 | |
| Shimmer | mount | 3088 | 3237 | 5000 | |
| Slider | mount | 2321 | 2294 | 5000 | |
| SpinButton | mount | 4767 | 4960 | 5000 | |
| Spinner | mount | 613 | 651 | 5000 | |
| SplitButton | mount | 3242 | 3231 | 5000 | |
| Stack | mount | 664 | 693 | 5000 | |
| StackWithIntrinsicChildren | mount | 1472 | 1428 | 5000 | |
| StackWithTextChildren | mount | 4269 | 4314 | 5000 | |
| SwatchColorPicker | mount | 10447 | 10321 | 5000 | |
| TagPicker | mount | 2645 | 2699 | 5000 | |
| Text | mount | 619 | 616 | 5000 | |
| TextField | mount | 1580 | 1635 | 5000 | |
| ThemeProvider | mount | 1470 | 1426 | 5000 | |
| ThemeProvider | virtual-rerender | 949 | 916 | 5000 | |
| ThemeProvider | virtual-rerender-with-unmount | 2289 | 2252 | 5000 | |
| Toggle | mount | 1013 | 1027 | 5000 | |
| buttonNative | mount | 345 | 328 | 5000 |
Collaborator
🕵 fluentuiv9 No visual regressions between this PR and main |
Collaborator
🕵 FluentUI-v0 No visual regressions between this PR and main |
22ce33a to
e12ed12
Compare
Collaborator
🕵 fluentuiv8 No visual regressions between this PR and main |
JustSlone
approved these changes
Apr 24, 2023
ling1726
approved these changes
Apr 25, 2023
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)
Collaborator
|
🎉 Handy links: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Previous Behavior
Conformance test used within projects that use TS path aliases are slow and cause various OOMemory leaks on CI.
This is caused by:
New Behavior
This PR adds new generic conformance config API which needs to be used for projects with ts solution configs. By leveraging this new API we get following benchmark improvements:
Demo:
const defaultOptions: Partial<IsConformantOptions<TProps>> = { + tsConfig: { configName: 'tsconfig.spec.json' }, componentPath: require.main?.filename.replace('.test', ''), ... }Speed metrics::
Legend:
yarn workspace @fluentui/react-text --no-cache --runInBandRelated Issue(s)