fix: nightly RN 0.88

This commit is contained in:
Maciej Jastrzębski
2026-07-13 14:12:02 +02:00
parent 226ecd2808
commit 075ff57237
17 changed files with 60 additions and 49 deletions
@@ -5,13 +5,13 @@ runs:
using: composite
steps:
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: .nvmrc
- name: Cache deps
id: yarn-cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
./node_modules
@@ -5,13 +5,13 @@ runs:
using: composite
steps:
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: .nvmrc
- name: Cache deps
id: yarn-cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
./node_modules
@@ -31,4 +31,7 @@ runs:
yarn add -D react-native@latest \
@react-native/babel-preset@latest \
@react-native/jest-preset@latest
# RN 0.85+ ships the Jest preset as a standalone package, so point the
# config at it instead of the `react-native`-bundled preset (RN 0.84).
sed -i "s|preset: 'react-native'|preset: '@react-native/jest-preset'|" jest.config.js
shell: bash
@@ -5,13 +5,13 @@ runs:
using: composite
steps:
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: .nvmrc
- name: Cache deps
id: yarn-cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
./node_modules
@@ -31,4 +31,7 @@ runs:
yarn add -D react-native@next \
@react-native/babel-preset@next \
@react-native/jest-preset@next
# RN 0.85+ ships the Jest preset as a standalone package, so point the
# config at it instead of the `react-native`-bundled preset (RN 0.84).
sed -i "s|preset: 'react-native'|preset: '@react-native/jest-preset'|" jest.config.js
shell: bash
@@ -5,13 +5,13 @@ runs:
using: composite
steps:
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: .nvmrc
- name: Cache deps
id: yarn-cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
./node_modules
@@ -32,4 +32,7 @@ runs:
react-native@nightly \
@react-native/babel-preset@nightly \
@react-native/jest-preset@nightly
# RN 0.85+ ships the Jest preset as a standalone package, so point the
# config at it instead of the `react-native`-bundled preset (RN 0.84).
sed -i "s|preset: 'react-native'|preset: '@react-native/jest-preset'|" jest.config.js
shell: bash
+2 -2
View File
@@ -5,13 +5,13 @@ runs:
using: composite
steps:
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: .nvmrc
- name: Cache deps
id: yarn-cache
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
./node_modules
@@ -5,13 +5,13 @@ runs:
using: composite
steps:
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: .nvmrc
- name: Cache website deps
id: yarn-cache-website
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
./website/node_modules
+6 -6
View File
@@ -19,7 +19,7 @@ jobs:
name: Lint
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps
@@ -35,7 +35,7 @@ jobs:
name: Typecheck
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps
@@ -48,7 +48,7 @@ jobs:
name: Typecheck React 18
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps-react-18
@@ -61,7 +61,7 @@ jobs:
name: Test
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps
@@ -70,7 +70,7 @@ jobs:
run: yarn test:ci:coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
uses: codecov/codecov-action@e53489f4d376d79066609109e7a95a29eb3740b1 # v7.0.0
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -79,7 +79,7 @@ jobs:
name: Test React 18
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps-react-18
+2 -2
View File
@@ -23,10 +23,10 @@ jobs:
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24
cache: 'yarn'
+3 -3
View File
@@ -20,7 +20,7 @@ jobs:
name: Lint
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps-rn-latest
@@ -33,7 +33,7 @@ jobs:
name: Typecheck
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps-rn-latest
@@ -46,7 +46,7 @@ jobs:
name: Test
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps-rn-latest
+3 -3
View File
@@ -20,7 +20,7 @@ jobs:
name: Lint
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps-rn-next
@@ -33,7 +33,7 @@ jobs:
name: Typecheck
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps-rn-next
@@ -46,7 +46,7 @@ jobs:
name: Test
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps-rn-next
+3 -3
View File
@@ -20,7 +20,7 @@ jobs:
name: Lint
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps-rn-nightly
@@ -33,7 +33,7 @@ jobs:
name: Typecheck
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps-rn-nightly
@@ -46,7 +46,7 @@ jobs:
name: Test
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and deps
uses: ./.github/actions/setup-deps-rn-nightly
+2 -2
View File
@@ -18,7 +18,7 @@ jobs:
name: Test Website
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and website deps
uses: ./.github/actions/setup-website-deps
@@ -33,7 +33,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js and website deps
uses: ./.github/actions/setup-website-deps
+1 -1
View File
@@ -70,7 +70,7 @@ export function defaultMapProps(props: Record<string, unknown>): Record<string,
return result;
}
function extractStyle(style: ViewStyle | undefined) {
function extractStyle(style: ViewStyle | null | undefined) {
if (style == null) {
return undefined;
}
@@ -159,7 +159,8 @@ test.each([
['TouchableNativeFeedback', TouchableNativeFeedback],
] as const)('toBeDisabled()/toBeEnabled() supports %s with "disabled" prop', (_, Component) => {
render(
// @ts-expect-error - JSX element type 'Component' does not have any construct or call signatures.
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore - JSX element type 'Component' does not have any construct or call signatures.
<Component disabled testID="subject">
<Text>Button</Text>
</Component>,
@@ -191,7 +192,8 @@ test.each([
'toBeDisabled()/toBeEnabled() supports %s with "aria-disabled" prop',
(_, Component) => {
render(
// @ts-expect-error - JSX element type 'Component' does not have any construct or call signatures.
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore - JSX element type 'Component' does not have any construct or call signatures.
<Component testID="subject" aria-disabled>
<Text>Hello</Text>
</Component>,
@@ -218,7 +220,8 @@ test.each([
'toBeDisabled()/toBeEnabled() supports %s with "accessibilityState.disabled" prop',
(_, Component) => {
render(
// @ts-expect-error - JSX element type 'Component' does not have any construct or call signatures.
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore - JSX element type 'Component' does not have any construct or call signatures.
<Component testID="subject" accessibilityState={{ disabled: true }}>
<Text>Hello</Text>
</Component>,
@@ -193,11 +193,10 @@ describe('userEvent.longPress with fake timers', () => {
const user = userEvent.setup();
const compositeView = screen.getByTestId('view').parent as ReactTestInstance;
await expect(user.longPress(compositeView)).rejects.toThrowErrorMatchingInlineSnapshot(`
"longPress() works only with host elements. Passed element has type "function Component() {
(0, _classCallCheck2.default)(this, Component);
return _callSuper(this, Component, arguments);
}"."
`);
// The stringified component type varies across React Native versions, so we
// only assert the stable prefix of the error message.
await expect(user.longPress(compositeView)).rejects.toThrow(
/^longPress\(\) works only with host elements\. Passed element has type/,
);
});
});
@@ -353,12 +353,11 @@ describe('userEvent.press with fake timers', () => {
const user = userEvent.setup();
const compositeView = screen.getByTestId('view').parent as ReactTestInstance;
await expect(user.press(compositeView)).rejects.toThrowErrorMatchingInlineSnapshot(`
"press() works only with host elements. Passed element has type "function Component() {
(0, _classCallCheck2.default)(this, Component);
return _callSuper(this, Component, arguments);
}"."
`);
// The stringified component type varies across React Native versions, so we
// only assert the stable prefix of the error message.
await expect(user.press(compositeView)).rejects.toThrow(
/^press\(\) works only with host elements\. Passed element has type/,
);
});
test('disables act environmennt', async () => {
+3 -2
View File
@@ -7,8 +7,9 @@
"jsx": "react",
"target": "ES2022",
"lib": ["ES2022", "DOM"],
"module": "commonjs",
"moduleResolution": "node",
"module": "preserve",
"moduleResolution": "bundler",
"types": ["jest", "node"],
"declaration": true,
"noEmit": true,
"outDir": "build"