Skip to content

Commit b829513

Browse files
committed
fix: dedupe dependencies and remove critical vulnerabilities
1 parent 327adbb commit b829513

5 files changed

Lines changed: 395 additions & 3629 deletions

File tree

apps/discovery/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
"@types/react-syntax-highlighter": "^15.5.13",
8282
"babel-preset-expo": "^54.0.5",
8383
"ignore-loader": "^0.1.2",
84-
"jest-expo": "^54.0.12",
84+
"jest-expo": "^54.0.14",
8585
"typescript": "^5.4.5"
8686
},
8787
"private": true

packages/render/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@
7070
"react-native": "0.81.5",
7171
"react-native-accessibility-engine": "patch:react-native-accessibility-engine@npm%3A3.2.0#~/.yarn/patches/react-native-accessibility-engine-npm-3.2.0-5709303461.patch",
7272
"react-native-builder-bob": "^0.40.13",
73-
"react-performance-testing": "^2.0.0",
7473
"react-test-renderer": "19.1.0",
7574
"typescript": "^5.4.5"
7675
},

packages/render/src/elements/__tests__/ListElement.test.tsx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { TBlock } from '@native-html/transient-render-engine';
33
import React from 'react';
44
import { StyleSheet } from 'react-native';
55
import { render, waitFor } from '@testing-library/react-native';
6-
import { perf, wait } from 'react-performance-testing';
76
import buildTREFromConfig from '../../helpers/buildTREFromConfig';
87
import RenderHTMLConfigProvider from '../../RenderHTMLConfigProvider';
98
import { DefaultSupportedListStyleType } from '../../shared-types';
@@ -79,7 +78,13 @@ describe('ListElement', () => {
7978
for (const listStyleType of listStyleTypes) {
8079
for (const dir of ['ltr', 'rtl']) {
8180
it(`should render and support listStyleType ${listStyleType} in ${dir}`, async () => {
82-
const { renderCount } = perf<{ ListElement: unknown }>(React);
81+
let renderCount = 0;
82+
function TrackedListElement(
83+
props: React.ComponentProps<typeof ListElement>
84+
) {
85+
renderCount++;
86+
return React.createElement(ListElement, props);
87+
}
8388
const props = makeListElementProps(
8489
`<ol dir="${dir}"><li>One</li></ol>`,
8590
'ol',
@@ -91,15 +96,12 @@ describe('ListElement', () => {
9196
render(
9297
<TRenderEngineProvider>
9398
<RenderHTMLConfigProvider>
94-
{React.createElement(ListElement, props)}
99+
<TrackedListElement {...props} />
95100
</RenderHTMLConfigProvider>
96101
</TRenderEngineProvider>
97102
);
98-
await wait(() => {
99-
// Expect only one instance
100-
expect(typeof renderCount.current.ListElement.value).toBe('number');
101-
// Expect only one render
102-
expect(renderCount.current.ListElement.value).toBeLessThan(2);
103+
await waitFor(() => {
104+
expect(renderCount).toBeLessThan(2);
103105
});
104106
});
105107
}

packages/render/src/elements/__tests__/useIMGElementState.test.ts

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
import React from 'react';
22
import { renderHook, render } from '@testing-library/react-native';
3-
import { perf, wait } from 'react-performance-testing/native';
43
import useIMGElementState from '../useIMGElementState';
54
import { Image } from 'react-native';
65
import { waitFor } from '@testing-library/react-native';
76

8-
/**
9-
* Renders the hook inside a named component to allow extracting perf results
10-
*/
117
function renderHookForPerf(renderFn: () => void) {
8+
let renderCount = 0;
129
function TestComponent() {
10+
renderCount++;
1311
renderFn();
1412
return null;
1513
}
16-
17-
return render(React.createElement(TestComponent));
14+
const utils = render(React.createElement(TestComponent));
15+
return { ...utils, getRenderCount: () => renderCount };
1816
}
1917

2018
describe('useIMGElementState', () => {
@@ -25,34 +23,30 @@ describe('useIMGElementState', () => {
2523
computeMaxWidth: (contentWidth: number) => contentWidth
2624
};
2725
it('should render at most twice when width and height physical dimensions are not provided, prior and after fetching physical dimensions', async () => {
28-
const { renderCount } = perf<{ TestComponent: unknown }>(React);
29-
30-
renderHookForPerf(() => useIMGElementState(props));
31-
await wait(() => {
32-
expect(renderCount.current.TestComponent.value).toBeLessThan(2);
26+
const { getRenderCount } = renderHookForPerf(() => useIMGElementState(props));
27+
await waitFor(() => {
28+
expect(getRenderCount()).toBeLessThan(2);
3329
});
3430
});
3531
it('should use Image.getSizeWithHeaders when source has `headers`', async () => {
36-
const { renderCount } = perf<{ TestComponent: unknown }>(React);
3732
const source = { uri: 'http://via.placeholder.com/640x360', headers: {} };
3833
const localProps = { ...props, source };
39-
renderHookForPerf(() => useIMGElementState(localProps));
40-
await wait(() => {
41-
expect(renderCount.current.TestComponent.value).toBeLessThan(2);
34+
const { getRenderCount } = renderHookForPerf(() => useIMGElementState(localProps));
35+
await waitFor(() => {
36+
expect(getRenderCount()).toBeLessThan(2);
4237
});
4338
expect(Image.getSizeWithHeaders).toHaveBeenCalled();
4439
});
4540
it('should render once when width and height physical dimensions are provided, bypassing the fetching of physical dimensions', async () => {
46-
const { renderCount } = perf<{ TestComponent: unknown }>(React);
47-
renderHookForPerf(() =>
41+
const { getRenderCount } = renderHookForPerf(() =>
4842
useIMGElementState({
4943
...props,
5044
width: 600,
5145
height: 300
5246
})
5347
);
54-
await wait(() => {
55-
expect(renderCount.current.TestComponent.value).toBe(1);
48+
await waitFor(() => {
49+
expect(getRenderCount()).toBe(1);
5650
});
5751
});
5852
it('should start in loading state with dimensions set to initialDimensions', async () => {

0 commit comments

Comments
 (0)