Skip to content

Commit d0f30d9

Browse files
Merge branch 'react:main' into feat/use-screen-dimensions
2 parents 3bc92db + 27e7721 commit d0f30d9

213 files changed

Lines changed: 4674 additions & 1471 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.flowconfig‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ packages/react-native-codegen/e2e/__test_fixtures__/modules/NativeEnumTurboModul
1616
**/*.windows.js
1717

1818
**/node_modules/resolve/test/resolver/malformed_package_json/package.json
19+
**/node_modules/invariant/**
1920

2021
; Checked-in build output
2122
packages/debugger-frontend/dist/**
@@ -52,6 +53,9 @@ experimental.multi_platform=true
5253
experimental.multi_platform.extensions=.ios
5354
experimental.multi_platform.extensions=.android
5455

56+
experimental.assertion_functions=true
57+
experimental.disable_invariant_special_casing=true
58+
5559
munge_underscores=true
5660

5761
module.name_mapper='^react-native$' -> '<PROJECT_ROOT>/packages/react-native/index.js'
@@ -96,4 +100,4 @@ untyped-import
96100
untyped-type-import
97101

98102
[version]
99-
^0.335.0
103+
^0.336.0

‎.github/actions/test-ios-helloworld/action.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ name: test-ios-helloworld
22
description: Test iOS Hello World
33
inputs:
44
use-frameworks:
5-
description: The dependency building and linking strategy to use. Must be one of "StaticLibraries", "DynamicFrameworks"
6-
default: StaticLibraries
5+
description: Whether to build with dynamic frameworks.
6+
default: false
77
ruby-version:
88
description: The version of ruby that must be used
99
default: 2.6.10
@@ -51,7 +51,7 @@ runs:
5151
cd private/helloworld
5252
args=()
5353
54-
if [[ ${{ inputs.use-frameworks }} == "DynamicFrameworks" ]]; then
54+
if [[ "${{ inputs.use-frameworks }}" == "true" ]]; then
5555
args+=(--frameworks dynamic)
5656
fi
5757
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
/**
2+
* Copyright (c) Meta Platforms, Inc. and affiliates.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*
7+
* @format
8+
*/
9+
10+
'use strict';
11+
12+
const checkForReproducer = require('../checkForReproducer');
13+
14+
const ISSUE_AUTHOR = 'issue-author';
15+
16+
function buildGithub(body) {
17+
return {
18+
rest: {
19+
issues: {
20+
get: jest.fn().mockResolvedValue({
21+
data: {
22+
user: {login: ISSUE_AUTHOR},
23+
created_at: '2026-10-01T00:00:00Z',
24+
body,
25+
},
26+
}),
27+
listComments: jest.fn().mockResolvedValue({data: []}),
28+
listEventsForTimeline: jest.fn().mockResolvedValue({data: []}),
29+
removeLabel: jest.fn().mockResolvedValue({}),
30+
addLabels: jest.fn().mockResolvedValue({}),
31+
},
32+
},
33+
};
34+
}
35+
36+
const context = {
37+
repo: {owner: 'react', repo: 'react-native'},
38+
payload: {issue: {number: 1}},
39+
};
40+
41+
describe('checkForReproducer reproducer links', () => {
42+
test.each([
43+
'https://github.com/react/react-native/pull/58972',
44+
'https://github.com/facebook/react-native/pull/58972',
45+
])('accepts a pull request link as a reproducer: %s', async link => {
46+
const github = buildGithub(`Reproducer: ${link}`);
47+
48+
await checkForReproducer(github, context);
49+
50+
expect(github.rest.issues.removeLabel).toHaveBeenCalledWith(
51+
expect.objectContaining({name: 'Needs: Repro'}),
52+
);
53+
expect(github.rest.issues.addLabels).not.toHaveBeenCalled();
54+
});
55+
56+
test.each([
57+
'Reproducer: https://github.com/someone-else/some-repo/pull/12',
58+
'It crashes when I scroll.',
59+
])('asks for a reproducer when there is none: %s', async body => {
60+
const github = buildGithub(body);
61+
62+
await checkForReproducer(github, context);
63+
64+
expect(github.rest.issues.addLabels).toHaveBeenCalledWith(
65+
expect.objectContaining({
66+
labels: ['Needs: Repro', 'Needs: Author Feedback'],
67+
}),
68+
);
69+
expect(github.rest.issues.removeLabel).not.toHaveBeenCalled();
70+
});
71+
});

‎.github/workflow-scripts/checkForReproducer.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ module.exports = async (github, context) => {
4343
const hasValidReproducer = entities.some(entity => {
4444
const hasPullRequestRepoLink = containsPattern(
4545
entity.body,
46-
`https?:\/\/github\.com\/facebook\/react-native\/pull\/\d+\/?`,
46+
`https?:\\/\\/github\\.com\\/(?:facebook|react)\\/react-native\\/pull\\/\\d+\\/?`,
4747
);
4848

4949
const hasExpoSnackLink = containsPattern(

‎.github/workflows/close-pr.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
// Looking at the commit message, checks which PR number, if any, was closed by this commit
2727
const getClosedPrIfExists = (commit) => {
2828
if(!commit || !commit.message) return;
29-
const prClosingRegex = /Closes https:\/\/github.com\/facebook\/react-native\/pull\/([0-9]+)|Pull Request resolved: https:\/\/github.com\/facebook\/react-native\/pull\/([0-9]+)/;
29+
const prClosingRegex = /Closes https:\/\/github.com\/(?:facebook|react)\/react-native\/pull\/([0-9]+)|Pull Request resolved: https:\/\/github.com\/(?:facebook|react)\/react-native\/pull\/([0-9]+)/;
3030
const prClosingMatch = commit.message.match(prClosingRegex);
3131
if(!prClosingMatch || (!prClosingMatch[1] && ! prClosingMatch[2])) return;
3232
return prClosingMatch[1] ?? prClosingMatch[2];

‎.github/workflows/test-all.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,7 @@ jobs:
534534
exclude:
535535
# This config is tested with Ruby 3.2.0. Let's not double test it.
536536
- flavor: Debug
537-
use_frameworks: StaticLibraries
537+
use_frameworks: false
538538
env:
539539
PROJECT_NAME: iOSTemplateProject
540540
YARN_ENABLE_IMMUTABLE_INSTALLS: false

0 commit comments

Comments
 (0)