-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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 @types/node to 14 to align with our supported node version #25510
chore: migrate @types/node to 14 to align with our supported node version #25510
Conversation
📊 Bundle size reportUnchanged fixtures
|
Perf Analysis (
|
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
Avatar | mount | 1291 | 1253 | 5000 | |
Button | mount | 917 | 930 | 5000 | |
FluentProvider | mount | 1487 | 1493 | 5000 | |
FluentProviderWithTheme | mount | 589 | 559 | 10 | |
FluentProviderWithTheme | virtual-rerender | 543 | 542 | 10 | |
FluentProviderWithTheme | virtual-rerender-with-unmount | 577 | 576 | 10 | |
MakeStyles | mount | 1967 | 1968 | 50000 | |
SpinButton | mount | 2401 | 2349 | 5000 |
Perf Analysis (
|
Scenario | Current PR Ticks | Baseline Ticks | Ratio |
---|---|---|---|
ButtonMinimalPerf.default | 147 | 136 | 1.08:1 |
AccordionMinimalPerf.default | 130 | 121 | 1.07:1 |
PortalMinimalPerf.default | 150 | 140 | 1.07:1 |
AttachmentMinimalPerf.default | 130 | 123 | 1.06:1 |
ButtonSlotsPerf.default | 432 | 413 | 1.05:1 |
GridMinimalPerf.default | 308 | 292 | 1.05:1 |
AvatarMinimalPerf.default | 167 | 161 | 1.04:1 |
ChatDuplicateMessagesPerf.default | 223 | 214 | 1.04:1 |
FlexMinimalPerf.default | 260 | 249 | 1.04:1 |
FormMinimalPerf.default | 333 | 319 | 1.04:1 |
ProviderMinimalPerf.default | 329 | 316 | 1.04:1 |
ChatMinimalPerf.default | 643 | 626 | 1.03:1 |
ImageMinimalPerf.default | 349 | 340 | 1.03:1 |
AlertMinimalPerf.default | 222 | 218 | 1.02:1 |
CardMinimalPerf.default | 469 | 462 | 1.02:1 |
DividerMinimalPerf.default | 318 | 312 | 1.02:1 |
HeaderMinimalPerf.default | 319 | 312 | 1.02:1 |
HeaderSlotsPerf.default | 690 | 674 | 1.02:1 |
LayoutMinimalPerf.default | 321 | 314 | 1.02:1 |
ListWith60ListItems.default | 508 | 500 | 1.02:1 |
MenuMinimalPerf.default | 748 | 731 | 1.02:1 |
PopupMinimalPerf.default | 569 | 558 | 1.02:1 |
ReactionMinimalPerf.default | 334 | 327 | 1.02:1 |
TableMinimalPerf.default | 360 | 352 | 1.02:1 |
TooltipMinimalPerf.default | 1905 | 1861 | 1.02:1 |
AnimationMinimalPerf.default | 478 | 471 | 1.01:1 |
AttachmentSlotsPerf.default | 892 | 879 | 1.01:1 |
ChatWithPopoverPerf.default | 287 | 284 | 1.01:1 |
CheckboxMinimalPerf.default | 1531 | 1509 | 1.01:1 |
DialogMinimalPerf.default | 689 | 683 | 1.01:1 |
DropdownManyItemsPerf.default | 546 | 542 | 1.01:1 |
DropdownMinimalPerf.default | 2188 | 2166 | 1.01:1 |
ItemLayoutMinimalPerf.default | 982 | 974 | 1.01:1 |
ListMinimalPerf.default | 466 | 461 | 1.01:1 |
ListNestedPerf.default | 477 | 472 | 1.01:1 |
RosterPerf.default | 1727 | 1702 | 1.01:1 |
RadioGroupMinimalPerf.default | 395 | 390 | 1.01:1 |
RefMinimalPerf.default | 191 | 189 | 1.01:1 |
SkeletonMinimalPerf.default | 311 | 308 | 1.01:1 |
IconMinimalPerf.default | 560 | 552 | 1.01:1 |
TextMinimalPerf.default | 305 | 303 | 1.01:1 |
DatepickerMinimalPerf.default | 4817 | 4795 | 1:1 |
EmbedMinimalPerf.default | 2642 | 2630 | 1:1 |
InputMinimalPerf.default | 852 | 856 | 1:1 |
LabelMinimalPerf.default | 341 | 341 | 1:1 |
MenuButtonMinimalPerf.default | 1369 | 1375 | 1:1 |
ProviderMergeThemesPerf.default | 1008 | 1006 | 1:1 |
SliderMinimalPerf.default | 1252 | 1247 | 1:1 |
StatusMinimalPerf.default | 608 | 609 | 1:1 |
TableManyItemsPerf.default | 1583 | 1583 | 1:1 |
TextAreaMinimalPerf.default | 410 | 410 | 1:1 |
ButtonOverridesMissPerf.default | 1032 | 1038 | 0.99:1 |
CarouselMinimalPerf.default | 348 | 350 | 0.99:1 |
LoaderMinimalPerf.default | 267 | 269 | 0.99:1 |
SegmentMinimalPerf.default | 309 | 311 | 0.99:1 |
SplitButtonMinimalPerf.default | 3279 | 3298 | 0.99:1 |
CustomToolbarPrototype.default | 2165 | 2187 | 0.99:1 |
ToolbarMinimalPerf.default | 792 | 798 | 0.99:1 |
TreeMinimalPerf.default | 692 | 697 | 0.99:1 |
ListCommonPerf.default | 507 | 520 | 0.98:1 |
VideoMinimalPerf.default | 624 | 634 | 0.98:1 |
BoxMinimalPerf.default | 294 | 304 | 0.97:1 |
TreeWith60ListItems.default | 126 | 137 | 0.92:1 |
Asset size changesSize Auditor did not detect a change in bundle size for any component! Baseline commit: fa97592b4f9020e187353c781766918e37be8d40 (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 e6fc681:
|
Perf Analysis (
|
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
BaseButton | mount | 1190 | 1200 | 5000 | |
Breadcrumb | mount | 2812 | 2792 | 1000 | |
Checkbox | mount | 2681 | 2656 | 5000 | |
CheckboxBase | mount | 2395 | 2368 | 5000 | |
ChoiceGroup | mount | 4294 | 4322 | 5000 | |
ComboBox | mount | 1166 | 1182 | 1000 | |
CommandBar | mount | 9280 | 9269 | 1000 | |
ContextualMenu | mount | 10233 | 10223 | 1000 | |
DefaultButton | mount | 1351 | 1350 | 5000 | |
DetailsRow | mount | 3385 | 3363 | 5000 | |
DetailsRowFast | mount | 3373 | 3389 | 5000 | |
DetailsRowNoStyles | mount | 3274 | 3228 | 5000 | |
Dialog | mount | 2942 | 2941 | 1000 | |
DocumentCardTitle | mount | 567 | 573 | 1000 | |
Dropdown | mount | 3158 | 3169 | 5000 | |
FocusTrapZone | mount | 1943 | 1968 | 5000 | |
FocusZone | mount | 1931 | 1908 | 5000 | |
GroupedList | mount | 1840 | 2062 | 2 | |
GroupedList | virtual-rerender | 1097 | 1105 | 2 | |
GroupedList | virtual-rerender-with-unmount | 1627 | 1612 | 2 | |
GroupedListV2 | mount | 553 | 575 | 2 | |
GroupedListV2 | virtual-rerender | 552 | 547 | 2 | |
GroupedListV2 | virtual-rerender-with-unmount | 559 | 578 | 2 | |
IconButton | mount | 1785 | 1788 | 5000 | |
Label | mount | 760 | 749 | 5000 | |
Layer | mount | 4208 | 4186 | 5000 | |
Link | mount | 855 | 857 | 5000 | |
MenuButton | mount | 1605 | 1619 | 5000 | |
MessageBar | mount | 2336 | 2375 | 5000 | |
Nav | mount | 3087 | 3076 | 1000 | |
OverflowSet | mount | 1411 | 1394 | 5000 | |
Panel | mount | 2508 | 2509 | 1000 | |
Persona | mount | 1248 | 1262 | 1000 | |
Pivot | mount | 1527 | 1555 | 1000 | |
PrimaryButton | mount | 1494 | 1509 | 5000 | |
Rating | mount | 6959 | 6968 | 5000 | |
SearchBox | mount | 1485 | 1497 | 5000 | |
Shimmer | mount | 2926 | 2923 | 5000 | |
Slider | mount | 2069 | 2104 | 5000 | |
SpinButton | mount | 4270 | 4283 | 5000 | |
Spinner | mount | 830 | 834 | 5000 | |
SplitButton | mount | 2861 | 2825 | 5000 | |
Stack | mount | 866 | 873 | 5000 | |
StackWithIntrinsicChildren | mount | 2297 | 2335 | 5000 | |
StackWithTextChildren | mount | 5026 | 5012 | 5000 | |
SwatchColorPicker | mount | 9412 | 9519 | 5000 | |
TagPicker | mount | 2332 | 2314 | 5000 | |
TeachingBubble | mount | 76545 | 76608 | 5000 | |
Text | mount | 824 | 821 | 5000 | |
TextField | mount | 1545 | 1529 | 5000 | |
ThemeProvider | mount | 1445 | 1438 | 5000 | |
ThemeProvider | virtual-rerender | 1150 | 1132 | 5000 | |
ThemeProvider | virtual-rerender-with-unmount | 2000 | 2005 | 5000 | |
Toggle | mount | 1130 | 1130 | 5000 | |
buttonNative | mount | 534 | 535 | 5000 |
@@ -0,0 +1,7 @@ | |||
{ | |||
"type": "none", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
most of these are a mistake - #25531
@@ -1,7 +1,7 @@ | |||
// Type definitions for json-stable-stringify-without-jsonify 1.0.1 | |||
|
|||
declare module 'json-stable-stringify-without-jsonify' { | |||
function stringify(value: Record<string, any>, options?: Partial<Options>): Record<string, any>; | |||
function stringify(value: Record<string, any>, options?: Partial<Options>): string; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wrong return type, exposed by more strict node14 types ! 🙌
/** | ||
* function to override the default onRender callbacks | ||
*/ | ||
export const wrapPersona = ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this pattern was causing side effect triggered by direct module invocaion of isConformant()
, thus isConformant
was called for Persona
within PersonaCoin
test.
Also note, these kind of patterns should always trigger a red flag. if you want something reusable to be used in various test, we should always encapsulate that in a separate module.
This was exposed by more strict node 14 types that exposed deprecated usage of module.parent
🫡
@@ -6,7 +6,7 @@ export function isConformant<TProps = {}>( | |||
testInfo: Omit<IsConformantOptions<TProps>, 'componentPath'> & { componentPath?: string }, | |||
) { | |||
const defaultOptions: Partial<IsConformantOptions<TProps>> = { | |||
componentPath: module!.parent!.filename.replace('.test', ''), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
deprecated ! https://nodejs.org/api/modules.html#moduleparent
@@ -6,7 +6,7 @@ export function isConformant<TProps = {}>( | |||
testInfo: Omit<IsConformantOptions<TProps>, 'componentPath'> & { componentPath?: string }, | |||
) { | |||
const defaultOptions: Partial<IsConformantOptions<TProps>> = { | |||
componentPath: module!.parent!.filename.replace('.test', ''), | |||
componentPath: require.main?.filename.replace('.test', ''), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: I would prefer to use require.main!
as you expect that to be always set. The test should rather throw than run with componentPath: undefined
if require.main
is not set.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using !
is a red flag and antipattern ( also not recommended to use by TS team since optional chaining was ratified by ECMA ) . if componenPath will be undefined it will throw anyway
@@ -45,7 +45,7 @@ function setupTest(packages: Package[]) { | |||
|
|||
// response to 'gh auth' | |||
spawnSyncMock.mockReturnValueOnce({ | |||
output: ['Logged in to github.com'], | |||
output: [['Logged in to github.com']], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you provide some details on this change like you have for the others?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -42,10 +42,10 @@ function exec(cmd, displayName, cwd = process.cwd(), opts = {}) { | |||
); | |||
|
|||
if (opts.stdout) { | |||
child.stdout.pipe(opts.stdout); | |||
child.stdout?.pipe(opts.stdout); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm fine with this either way but I think this maintains the previous behavior (i.e., an error will be thrown when child.stdout
is not defined)
child.stdout?.pipe(opts.stdout); | |
child.stdout!.pipe(opts.stdout); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
node 14 types correctly reflects the streamable behavior that is determined by stdio
setting of spawn.
This doesn't apply to exec
though as you cannot set stdio
. Also because exec
always spawns a shell I/O redirection is always possible thus (stdout/stderr) will always be defined.
Summary:
- this will never error on accessing non existing property.
- using
!
is antipattern as I mentioned in other comment - this whole "abstraction" is wrong and will be removed so I don't see issues with changes in this PR
54dd01a
to
2d7cee0
Compare
… leaks and api-generation errors
2d7cee0
to
e6fc681
Compare
* stress-test: add "afterframe" dependency (microsoft#25560) Previously stress-test used a "requestPostAnimationFrame" function that is used to measure from just before style recalc, layout and paint are executed to just afterward. This change drops that function in favor of taking a dependency on afterframe, a library that does the same thing. * Fix: Update tabs to remain the same size between unselected and selected states (microsoft#25542) * Add support to keep tabs from changing size when selected * Update for naming and tests * Rename update * Update packages/react-components/react-tabs/src/components/TabList/TabList.types.ts Co-authored-by: Sean Monahan <[email protected]> Co-authored-by: Sean Monahan <[email protected]> * chore: Add reduced-motion documentation to Spinner (microsoft#25561) * chore: Add reduced-motion documentation to Spinner * change file * chore: Add documentation to Progress about reduced-motion (microsoft#25563) * chore: Add documentation to Progress about reduced-motion * change file * stress-test: disable CSS transitions on injected styles (microsoft#25559) This addresses an issue where Firefox's style recalculation measurement becomes unstable when controls under test have CSS transitions. Specifically, our test injects styles that update the background color of selected controls and many Fluent controls transition the background color for different states like "hover" and "focus". With transitions running Firefox will sometimes include the transition time in the style recalc measurement and sometimes not. Additionally, Chromium browsers never include the transition time in the measurement. Disabling transitions ensures measurement behavior is consistent in Firefox and in alignment with the behavior of Chromium browsers. * docs(rfcs): add triage automation rfc (microsoft#24817) * chore: update beachball ignore list to apply to new project structure (microsoft#25531) * bugfix(react-switch): adds line-height=0 to switch indicator slot (microsoft#25507) * chore: add both options to useArrowNavigationGroup (microsoft#25568) * chore: add both options to useArrowNavigationGroup * chore: add changes * chore: update api * chore(vr-tests-v9): Convert Dialog and Image VR tests to CSF (microsoft#25527) * chore: toolbar a11y improvements (microsoft#25562) * feat: create vertical example * chore: add navigation arrows for vertical scenario * chore: add labels for all toolbar stories * chore: update tooltip example * chore: update radio example * chore: update toolbar stories examples * chore: add changes * chore: use both in toolbar arrow key nav * chore: update snapshot * chore(react-dialog): migrate to new package structure (microsoft#25523) Co-authored-by: Oleksandr Fediashov <[email protected]> * chore(react-overflow): migrate to new package structure (microsoft#25524) * Expand @fluentui/react root index file's export *s to uncover and fix duplicate exports. (microsoft#25545) * expanding index. * change. * Replacing with inline deprecation exclusions. * setting export * to warning. * change. * moving rules around. * fix: v9 form controls with underline should have underline-specific disabled styling (microsoft#25543) Updates disabled form styling for Input, Select, Spinbutton, Combobox, and Dropdown * docs(public-docsite-v9): Adding a basic setup section to the SSR docs (microsoft#25564) * applying package updates * update regex * updatE * Update azure-pipelines.vrt-baseline.yml for Azure Pipelines * Update azure-pipelines.vrt-baseline.yml for Azure Pipelines * chore(deps): bump loader-utils from 2.0.0 to 2.0.3 (microsoft#25567) Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.0 to 2.0.3. - [Release notes](https://github.com/webpack/loader-utils/releases) - [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.3/CHANGELOG.md) - [Commits](webpack/loader-utils@v2.0.0...v2.0.3) --- updated-dependencies: - dependency-name: loader-utils dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: migrate @types/node to 14 to align with our supported node version (microsoft#25510) * chore(deps): resolve only to 1 @types/node version to mitigate global leaks and api-generation errors * fix(bundle-size): fix type errors exposed by node 14 typings * fix(tools): fix type errors exposed by node 14 typings * fix(typings): fix type errors exposed by node 14 typings * revert: use resolution for @types/node * chore(ts-minbar-test-react): use @types/node 14 explicitly * generate changefiles * chore: dedupe deps * fix(scripts): fix type errors exposed by node 14 typings * test: replace deprecated module.parent with require.main within isConformance * generate changefiles * test(react): clean up persona-coin test and use isConformant without side-effects * fix(storybook): fix theme picker current selection (microsoft#25533) * update * chore(vr-tests-v9): Convert Accordion VR tests to CSF (microsoft#25525) * fix: Update Avatar active ring color to match base color (microsoft#25497) * RFC: Field Package Layout (microsoft#25380) * Feature: Added large tab size to react-tabs (microsoft#25577) * Added large tab size * yarn change * Update vr-tests * Code review fix * feat(react-infobutton): Adding size prop, HCM styles, and updating styles to match design spec (microsoft#25519) * updating styles and adding size prop * updating comment * adding requested changes * fix: Adding expanded styles for MenuButtons and making various other styling fixes for Button components (microsoft#25521) * fix: Adding expanded styles for MenuButtons and making various other styling fixes for Button components. * Adding change file. * Addressing PR feedback. Co-authored-by: KHMakoto <[email protected]> * chore: Clean up Field tests and story imports in preparation of moving to individual packages (microsoft#25594) * Remove custom `isConformant` function for Field tests, and instead inline the customizations in each call to `isConformant` * Disable the `exported-top-level` test because the components will be exported as e.g. `InputField_unstable` from the component packages. * Change the stories to import from `@fluentui/react-components/unstable`, instead of the individual package. * Rename the `FieldComponent` type to `FieldControl` to correspond to the `control` slot name. * Tabs icon toggle (microsoft#25597) * Added regular filled icon toggling * yarn change * chore: Refactor Field components into the base component's package (microsoft#25593) Move Field components into their respective packages, as discussed in RFC microsoft#25380 * Update Component Implementation Epic template (microsoft#25480) * update to use vrscreenshotdiff beta * change lock file * update package version * applying package updates * update pr pipeline to add v8 * PR to add tasks in pipeline for v9 VRT integration (microsoft#25606) * fix: create valid export maps (microsoft#25558) * generate changefiles * chore(deps): bump socket.io-parser from 4.0.4 to 4.0.5 (microsoft#25604) Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.0.4 to 4.0.5. - [Release notes](https://github.com/socketio/socket.io-parser/releases) - [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md) - [Commits](socketio/socket.io-parser@4.0.4...4.0.5) --- updated-dependencies: - dependency-name: socket.io-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(react-dialog): removes unnecessary union case for DialogOpenChangeData (microsoft#25504) * templatize * update * templatize * updatE * refactor(scripts): remove deprecated exec abstractions (microsoft#25569) * fix(scripts): make eslint run again on pre-commit (microsoft#25537) * feat(react-components): Move AvatarGroup to stable (microsoft#25005) * update * update version * run partial tests * update * update * update * update * update * update * updatE * updatE * update version * update lock file * update name * update version * add quotes * docs: refactor Text documentation and add missing guidance for presets/alignment (microsoft#25587) Fixes microsoft#24341 Fixes microsoft#25548 * update * package version * fix(react-menu): remove unwanted aria attributes on context menu (microsoft#25615) * fix(react-menu): remove unwanted aria attributes on context menu * chore: updates trigger selector for cypress tests * remove unwanted param * update * applying package updates * convert * checkpoint * add regex * change convert script * updates * update sw version Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Sean Monahan <[email protected]> Co-authored-by: Geoff Cox (Microsoft) <[email protected]> Co-authored-by: tomi-msft <[email protected]> Co-authored-by: Martin Hochel <[email protected]> Co-authored-by: Bernardo Sunderhus <[email protected]> Co-authored-by: chajun <[email protected]> Co-authored-by: Tristan Watanabe <[email protected]> Co-authored-by: Oleksandr Fediashov <[email protected]> Co-authored-by: David Zearing <[email protected]> Co-authored-by: Sarah Higley <[email protected]> Co-authored-by: Esteban Munoz Facusse <[email protected]> Co-authored-by: Fluent UI Build <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tudor Popa <[email protected]> Co-authored-by: Ben Howell <[email protected]> Co-authored-by: Makoto Morimoto <[email protected]> Co-authored-by: KHMakoto <[email protected]> Co-authored-by: Marcos Moura <[email protected]>
…sion (microsoft#25510) * chore(deps): resolve only to 1 @types/node version to mitigate global leaks and api-generation errors * fix(bundle-size): fix type errors exposed by node 14 typings * fix(tools): fix type errors exposed by node 14 typings * fix(typings): fix type errors exposed by node 14 typings * revert: use resolution for @types/node * chore(ts-minbar-test-react): use @types/node 14 explicitly * generate changefiles * chore: dedupe deps * fix(scripts): fix type errors exposed by node 14 typings * test: replace deprecated module.parent with require.main within isConformance * generate changefiles * test(react): clean up persona-coin test and use isConformant without side-effects
…sion (microsoft#25510) * chore(deps): resolve only to 1 @types/node version to mitigate global leaks and api-generation errors * fix(bundle-size): fix type errors exposed by node 14 typings * fix(tools): fix type errors exposed by node 14 typings * fix(typings): fix type errors exposed by node 14 typings * revert: use resolution for @types/node * chore(ts-minbar-test-react): use @types/node 14 explicitly * generate changefiles * chore: dedupe deps * fix(scripts): fix type errors exposed by node 14 typings * test: replace deprecated module.parent with require.main within isConformance * generate changefiles * test(react): clean up persona-coin test and use isConformant without side-effects
Current Behavior
@types/node
v 10New Behavior
@types/node
v 14 that aligns with our node 14 supportisConformant
setup are fixedRelated Issue(s)
Follows CDA #25488