mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Compare commits
11
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f60fbc15ae | ||
|
|
28facc2824 | ||
|
|
cf5d04d3e1 | ||
|
|
1e3c583d73 | ||
|
|
026fd325ab | ||
|
|
b395208303 | ||
|
|
8041e410e3 | ||
|
|
13ab63b60a | ||
|
|
965d84314a | ||
|
|
b93b378fa0 | ||
|
|
f55759e633 |
+4
-7
@@ -50,8 +50,8 @@
|
||||
"@definitelytyped/dtslint": "^0.0.127",
|
||||
"@jest/create-cache-key-function": "^29.6.3",
|
||||
"@pkgjs/parseargs": "^0.11.0",
|
||||
"@react-native/metro-babel-transformer": "0.76.0-main",
|
||||
"@react-native/metro-config": "0.76.0-main",
|
||||
"@react-native/metro-babel-transformer": "0.76.0-rc.0",
|
||||
"@react-native/metro-config": "0.76.0-rc.0",
|
||||
"@tsconfig/node18": "1.0.1",
|
||||
"@types/react": "^18.2.6",
|
||||
"@typescript-eslint/parser": "^7.1.1",
|
||||
@@ -95,16 +95,13 @@
|
||||
"nullthrows": "^1.1.1",
|
||||
"prettier": "2.8.8",
|
||||
"prettier-plugin-hermes-parser": "0.23.1",
|
||||
"react": "19.0.0-rc-fb9a90fa48-20240614",
|
||||
"react-test-renderer": "19.0.0-rc-fb9a90fa48-20240614",
|
||||
"react": "18.3.1",
|
||||
"react-test-renderer": "18.3.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"shelljs": "^0.8.5",
|
||||
"signedsource": "^1.0.0",
|
||||
"supports-color": "^7.1.0",
|
||||
"typescript": "5.0.4",
|
||||
"ws": "^6.2.3"
|
||||
},
|
||||
"resolutions": {
|
||||
"react-is": "19.0.0-rc-fb9a90fa48-20240614"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/assets-registry",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Asset support code for React Native.",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/babel-plugin-codegen",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Babel plugin to generate native module and view manager code for React Native.",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
@@ -25,7 +25,7 @@
|
||||
"index.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@react-native/codegen": "0.76.0-main"
|
||||
"@react-native/codegen": "0.76.0-rc.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.25.2"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/community-cli-plugin",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Core CLI commands for React Native",
|
||||
"keywords": [
|
||||
"react-native",
|
||||
@@ -22,8 +22,8 @@
|
||||
"dist"
|
||||
],
|
||||
"dependencies": {
|
||||
"@react-native/dev-middleware": "0.76.0-main",
|
||||
"@react-native/metro-babel-transformer": "0.76.0-main",
|
||||
"@react-native/dev-middleware": "0.76.0-rc.0",
|
||||
"@react-native/metro-babel-transformer": "0.76.0-rc.0",
|
||||
"chalk": "^4.0.0",
|
||||
"execa": "^5.1.1",
|
||||
"metro": "^0.80.10",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/core-cli-utils",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "React Native CLI library for Frameworks to build on",
|
||||
"license": "MIT",
|
||||
"main": "./src/index.flow.js",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/debugger-frontend",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Debugger frontend for React Native based on Chrome DevTools",
|
||||
"keywords": [
|
||||
"react-native",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/dev-middleware",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Dev server middleware for React Native",
|
||||
"keywords": [
|
||||
"react-native",
|
||||
@@ -23,7 +23,7 @@
|
||||
],
|
||||
"dependencies": {
|
||||
"@isaacs/ttlcache": "^1.4.1",
|
||||
"@react-native/debugger-frontend": "0.76.0-main",
|
||||
"@react-native/debugger-frontend": "0.76.0-rc.0",
|
||||
"chrome-launcher": "^0.15.2",
|
||||
"chromium-edge-launcher": "^0.2.0",
|
||||
"connect": "^3.6.5",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/eslint-config",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "ESLint config for React Native",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
@@ -22,7 +22,7 @@
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.25.2",
|
||||
"@babel/eslint-parser": "^7.25.1",
|
||||
"@react-native/eslint-plugin": "0.76.0-main",
|
||||
"@react-native/eslint-plugin": "0.76.0-rc.0",
|
||||
"@typescript-eslint/eslint-plugin": "^7.1.1",
|
||||
"@typescript-eslint/parser": "^7.1.1",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/eslint-plugin",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "ESLint rules for @react-native/eslint-config",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/eslint-plugin-specs",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "ESLint rules to validate NativeModule and Component Specs",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
@@ -31,7 +31,7 @@
|
||||
"@babel/eslint-parser": "^7.25.1",
|
||||
"@babel/plugin-transform-flow-strip-types": "^7.25.2",
|
||||
"@babel/preset-flow": "^7.24.7",
|
||||
"@react-native/codegen": "0.76.0-main",
|
||||
"@react-native/codegen": "0.76.0-rc.0",
|
||||
"make-dir": "^2.1.0",
|
||||
"pirates": "^4.0.1",
|
||||
"source-map-support": "0.5.0"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/gradle-plugin",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Gradle Plugin for React Native",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "helloworld",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"bootstrap": "node ./cli.js bootstrap",
|
||||
@@ -12,24 +12,24 @@
|
||||
"test": "jest"
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "19.0.0-rc-fb9a90fa48-20240614",
|
||||
"react-native": "1000.0.0"
|
||||
"react": "18.3.1",
|
||||
"react-native": "0.76.0-rc.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.25.2",
|
||||
"@babel/preset-env": "^7.25.3",
|
||||
"@babel/runtime": "^7.25.0",
|
||||
"@react-native/babel-preset": "0.76.0-main",
|
||||
"@react-native/core-cli-utils": "0.76.0-main",
|
||||
"@react-native/eslint-config": "0.76.0-main",
|
||||
"@react-native/metro-config": "0.76.0-main",
|
||||
"@react-native/babel-preset": "0.76.0-rc.0",
|
||||
"@react-native/core-cli-utils": "0.76.0-rc.0",
|
||||
"@react-native/eslint-config": "0.76.0-rc.0",
|
||||
"@react-native/metro-config": "0.76.0-rc.0",
|
||||
"babel-jest": "^29.6.3",
|
||||
"chalk": "^4.1.2",
|
||||
"commander": "^12.0.0",
|
||||
"eslint": "^8.19.0",
|
||||
"jest": "^29.6.3",
|
||||
"listr2": "^8.2.1",
|
||||
"react-test-renderer": "19.0.0-rc-fb9a90fa48-20240614",
|
||||
"react-test-renderer": "18.3.1",
|
||||
"rxjs": "^7.8.1"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/hermes-inspector-msggen",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"private": true,
|
||||
"description": "Hermes Inspector Message Generator for React Native",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/metro-config",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Metro configuration for React Native.",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
@@ -26,8 +26,8 @@
|
||||
"dist"
|
||||
],
|
||||
"dependencies": {
|
||||
"@react-native/js-polyfills": "0.76.0-main",
|
||||
"@react-native/metro-babel-transformer": "0.76.0-main",
|
||||
"@react-native/js-polyfills": "0.76.0-rc.0",
|
||||
"@react-native/metro-babel-transformer": "0.76.0-rc.0",
|
||||
"metro-config": "^0.80.10",
|
||||
"metro-runtime": "^0.80.10"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/normalize-colors",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Color normalization for React Native.",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/js-polyfills",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Polyfills for React Native.",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/babel-preset",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Babel preset for React Native applications",
|
||||
"main": "src/index.js",
|
||||
"repository": {
|
||||
@@ -56,7 +56,7 @@
|
||||
"@babel/plugin-transform-typescript": "^7.25.2",
|
||||
"@babel/plugin-transform-unicode-regex": "^7.24.7",
|
||||
"@babel/template": "^7.25.0",
|
||||
"@react-native/babel-plugin-codegen": "0.76.0-main",
|
||||
"@react-native/babel-plugin-codegen": "0.76.0-rc.0",
|
||||
"babel-plugin-transform-flow-enums": "^0.0.2",
|
||||
"react-refresh": "^0.14.0"
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/metro-babel-transformer",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Babel transformer for React Native applications.",
|
||||
"main": "src/index.js",
|
||||
"repository": {
|
||||
@@ -16,7 +16,7 @@
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.25.2",
|
||||
"@react-native/babel-preset": "0.76.0-main",
|
||||
"@react-native/babel-preset": "0.76.0-rc.0",
|
||||
"hermes-parser": "0.23.1",
|
||||
"nullthrows": "^1.1.1"
|
||||
},
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@react-native/bots",
|
||||
"description": "React Native Bots",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"private": true,
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/codegen-typescript-test",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"private": true,
|
||||
"description": "TypeScript related unit test for @react-native/codegen",
|
||||
"license": "MIT",
|
||||
@@ -19,7 +19,7 @@
|
||||
"prepare": "yarn run build"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-native/codegen": "0.76.0-main"
|
||||
"@react-native/codegen": "0.76.0-rc.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.25.2",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/codegen",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Code generation tools for React Native",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "react-native-info",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"main": "build/index.js",
|
||||
"license": "MIT",
|
||||
"private": true,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/popup-menu-android",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "PopupMenu for the Android platform",
|
||||
"main": "index.js",
|
||||
"files": [
|
||||
@@ -17,7 +17,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@react-native/codegen": "0.76.0-main"
|
||||
"@react-native/codegen": "0.76.0-rc.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "^18.2.6",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/oss-library-example",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"private": true,
|
||||
"description": "Package that includes native module exapmle, native component example, targets both the old and the new architecture. It should serve as an example of a real-world OSS library.",
|
||||
"license": "MIT",
|
||||
@@ -26,8 +26,8 @@
|
||||
],
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.25.2",
|
||||
"@react-native/babel-preset": "0.76.0-main",
|
||||
"react-native": "1000.0.0"
|
||||
"@react-native/babel-preset": "0.76.0-rc.0",
|
||||
"react-native": "0.76.0-rc.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "*",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@react-native/test-renderer",
|
||||
"private": true,
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "A Test rendering library for React Native",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1931,19 +1931,22 @@ function createRefForwarder<TNativeInstance, TPublicInstance>(
|
||||
return state;
|
||||
}
|
||||
|
||||
// TODO: After upgrading to React 19, remove `forwardRef` from this component.
|
||||
// NOTE: This wrapper component is necessary because `ScrollView` is a class
|
||||
// component and we need to map `ref` to a differently named prop. This can be
|
||||
// removed when `ScrollView` is a functional component.
|
||||
function Wrapper({
|
||||
ref,
|
||||
...props
|
||||
}: {
|
||||
...Props,
|
||||
ref: React.RefSetter<PublicScrollViewInstance>,
|
||||
}): React.Node {
|
||||
return <ScrollView {...props} scrollViewRef={ref} />;
|
||||
}
|
||||
const Wrapper = React.forwardRef(function Wrapper(
|
||||
props: Props,
|
||||
ref: ?React.RefSetter<PublicScrollViewInstance>,
|
||||
): React.Node {
|
||||
return ref == null ? (
|
||||
<ScrollView {...props} />
|
||||
) : (
|
||||
<ScrollView {...props} scrollViewRef={ref} />
|
||||
);
|
||||
});
|
||||
Wrapper.displayName = 'ScrollView';
|
||||
// $FlowExpectedError[prop-missing]
|
||||
Wrapper.Context = ScrollViewContext;
|
||||
|
||||
module.exports = ((Wrapper: $FlowFixMe): React.AbstractComponent<
|
||||
|
||||
@@ -14,10 +14,10 @@ const version: $ReadOnly<{
|
||||
patch: number,
|
||||
prerelease: string | null,
|
||||
}> = {
|
||||
major: 1000,
|
||||
minor: 0,
|
||||
major: 0,
|
||||
minor: 76,
|
||||
patch: 0,
|
||||
prerelease: null,
|
||||
prerelease: 'rc.0',
|
||||
};
|
||||
|
||||
module.exports = {version};
|
||||
|
||||
+27141
-16426
File diff suppressed because it is too large
Load Diff
+1630
-2675
File diff suppressed because it is too large
Load Diff
+1682
-2945
File diff suppressed because it is too large
Load Diff
+27607
-16730
File diff suppressed because it is too large
Load Diff
+1652
-2709
File diff suppressed because it is too large
Load Diff
+1733
-2980
File diff suppressed because it is too large
Load Diff
@@ -21,10 +21,10 @@ NSDictionary* RCTGetReactNativeVersion(void)
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^(void){
|
||||
__rnVersion = @{
|
||||
RCTVersionMajor: @(1000),
|
||||
RCTVersionMinor: @(0),
|
||||
RCTVersionMajor: @(0),
|
||||
RCTVersionMinor: @(76),
|
||||
RCTVersionPatch: @(0),
|
||||
RCTVersionPrerelease: [NSNull null],
|
||||
RCTVersionPrerelease: @"rc.0",
|
||||
};
|
||||
});
|
||||
return __rnVersion;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
VERSION_NAME=1000.0.0
|
||||
VERSION_NAME=0.76.0-rc.0
|
||||
react.internal.publishingGroup=com.facebook.react
|
||||
|
||||
android.useAndroidX=true
|
||||
|
||||
+3
-3
@@ -15,8 +15,8 @@ import java.util.Map;
|
||||
|
||||
public class ReactNativeVersion {
|
||||
public static final Map<String, Object> VERSION = MapBuilder.<String, Object>of(
|
||||
"major", 1000,
|
||||
"minor", 0,
|
||||
"major", 0,
|
||||
"minor", 76,
|
||||
"patch", 0,
|
||||
"prerelease", null);
|
||||
"prerelease", "rc.0");
|
||||
}
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
namespace facebook::react {
|
||||
|
||||
constexpr struct {
|
||||
int32_t Major = 1000;
|
||||
int32_t Minor = 0;
|
||||
int32_t Major = 0;
|
||||
int32_t Minor = 76;
|
||||
int32_t Patch = 0;
|
||||
std::string_view Prerelease = "";
|
||||
std::string_view Prerelease = "rc.0";
|
||||
} ReactNativeVersion;
|
||||
|
||||
} // namespace facebook::react
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "react-native",
|
||||
"version": "1000.0.0",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "A framework for building native apps using React",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
@@ -101,7 +101,7 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "^18.2.6",
|
||||
"react": "^19.0.0-rc-fb9a90fa48-20240614"
|
||||
"react": "^18.2.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
@@ -110,13 +110,13 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@jest/create-cache-key-function": "^29.6.3",
|
||||
"@react-native/assets-registry": "0.76.0-main",
|
||||
"@react-native/codegen": "0.76.0-main",
|
||||
"@react-native/community-cli-plugin": "0.76.0-main",
|
||||
"@react-native/gradle-plugin": "0.76.0-main",
|
||||
"@react-native/js-polyfills": "0.76.0-main",
|
||||
"@react-native/normalize-colors": "0.76.0-main",
|
||||
"@react-native/virtualized-lists": "0.76.0-main",
|
||||
"@react-native/assets-registry": "0.76.0-rc.0",
|
||||
"@react-native/codegen": "0.76.0-rc.0",
|
||||
"@react-native/community-cli-plugin": "0.76.0-rc.0",
|
||||
"@react-native/gradle-plugin": "0.76.0-rc.0",
|
||||
"@react-native/js-polyfills": "0.76.0-rc.0",
|
||||
"@react-native/normalize-colors": "0.76.0-rc.0",
|
||||
"@react-native/virtualized-lists": "0.76.0-rc.0",
|
||||
"abort-controller": "^3.0.0",
|
||||
"anser": "^1.4.9",
|
||||
"ansi-regex": "^5.0.0",
|
||||
@@ -139,7 +139,7 @@
|
||||
"react-devtools-core": "^5.3.1",
|
||||
"react-refresh": "^0.14.0",
|
||||
"regenerator-runtime": "^0.13.2",
|
||||
"scheduler": "0.25.0-rc-fb9a90fa48-20240614",
|
||||
"scheduler": "0.24.0-canary-efb381bbf-20230505",
|
||||
"semver": "^7.1.3",
|
||||
"stacktrace-parser": "^0.1.10",
|
||||
"whatwg-fetch": "^3.0.0",
|
||||
|
||||
@@ -40,27 +40,15 @@ class NewArchitectureTests < Test::Unit::TestCase
|
||||
|
||||
assert_equal(installer.aggregate_targets[0].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++20")
|
||||
assert_equal(installer.aggregate_targets[1].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++20")
|
||||
assert_equal(installer.pods_project.targets[1].received_resolved_build_setting_parameters, [ReceivedCommonResolvedBuildSettings.new("CLANG_CXX_LANGUAGE_STANDARD", true)])
|
||||
assert_equal(Pod::UI.collected_messages, ["Setting CLANG_CXX_LANGUAGE_STANDARD to c++20 on /test/path.xcproj", "Setting CLANG_CXX_LANGUAGE_STANDARD to c++20 on /test/path2.xcproj"])
|
||||
end
|
||||
|
||||
def test_setClangCxxLanguageStandardIfNeeded_whenReactCoreIsNotPresent
|
||||
installer = prepare_mocked_installer_without_react_core
|
||||
NewArchitectureHelper.set_clang_cxx_language_standard_if_needed(installer)
|
||||
|
||||
assert_equal(installer.aggregate_targets[0].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], nil)
|
||||
assert_equal(installer.aggregate_targets[1].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], nil)
|
||||
assert_equal(installer.pods_project.targets[0].received_resolved_build_setting_parameters, [])
|
||||
assert_equal(Pod::UI.collected_messages, [])
|
||||
end
|
||||
|
||||
def test_setClangCxxLanguageStandardIfNeeded_whenThereAreDifferentValuesForLanguageStandard_takesTheFirstValue
|
||||
installer = prepare_mocked_installer_with_react_core_and_different_language_standards
|
||||
NewArchitectureHelper.set_clang_cxx_language_standard_if_needed(installer)
|
||||
|
||||
assert_equal(installer.aggregate_targets[0].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++20")
|
||||
assert_equal(installer.aggregate_targets[1].user_project.build_configurations[0].build_settings["CLANG_CXX_LANGUAGE_STANDARD"], "c++20")
|
||||
assert_equal(installer.pods_project.targets[1].received_resolved_build_setting_parameters, [ReceivedCommonResolvedBuildSettings.new("CLANG_CXX_LANGUAGE_STANDARD", true)])
|
||||
assert_equal(Pod::UI.collected_messages, ["Setting CLANG_CXX_LANGUAGE_STANDARD to c++20 on /test/path.xcproj", "Setting CLANG_CXX_LANGUAGE_STANDARD to c++20 on /test/path2.xcproj"])
|
||||
end
|
||||
|
||||
|
||||
@@ -701,9 +701,6 @@ class UtilsTests < Test::Unit::TestCase
|
||||
# Assert
|
||||
assert_equal(FileMock.exist_invocation_params, ["/.xcode.env", "/.xcode.env.local"])
|
||||
assert_equal($collected_commands[0], "echo 'export NODE_BINARY=$(command -v node)' > /.xcode.env")
|
||||
|
||||
assert_true($collected_commands[1].start_with? "echo 'export NODE_BINARY=")
|
||||
assert_true($collected_commands[1].end_with? "' > /.xcode.env.local")
|
||||
end
|
||||
|
||||
# ============================ #
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
hermes-2024-09-09-RNv0.76.0-db6d12e202e15f7a446d8848d6ca8f7abb3cfb32
|
||||
+9
-8
@@ -21,33 +21,34 @@ import Platform from '../../../Libraries/Utilities/Platform';
|
||||
import AndroidHorizontalScrollContentViewNativeComponent from '../specs/components/AndroidHorizontalScrollContentViewNativeComponent';
|
||||
import useSyncOnScroll from './useSyncOnScroll';
|
||||
import * as React from 'react';
|
||||
import {forwardRef} from 'react';
|
||||
|
||||
const HScrollViewNativeComponentForPlatform =
|
||||
Platform.OS === 'android'
|
||||
? AndroidHorizontalScrollViewNativeComponent
|
||||
: ScrollViewNativeComponent;
|
||||
|
||||
// TODO: After upgrading to React 19, remove `forwardRef` from this component.
|
||||
export const HScrollViewNativeComponent: React.AbstractComponent<
|
||||
ScrollViewNativeProps,
|
||||
TScrollViewNativeImperativeHandle,
|
||||
// $FlowExpectedError[incompatible-type] - Flow cannot model imperative handles, yet.
|
||||
> = function HScrollViewNativeComponent(props: {
|
||||
...ScrollViewNativeProps,
|
||||
ref?: React.RefSetter<TScrollViewNativeImperativeHandle | null>,
|
||||
...
|
||||
}): React.Node {
|
||||
const [ref, enableSyncOnScroll] = useSyncOnScroll(props.ref);
|
||||
> = forwardRef(function HScrollViewNativeComponent(
|
||||
props: ScrollViewNativeProps,
|
||||
ref: ?React.RefSetter<TScrollViewNativeImperativeHandle | null>,
|
||||
): React.Node {
|
||||
const [componentRef, enableSyncOnScroll] = useSyncOnScroll(ref);
|
||||
// NOTE: When `useSyncOnScroll` triggers an update, `props` will not have
|
||||
// changed. Notably, `props.children` will be the same, allowing React to
|
||||
// bail out during reconciliation.
|
||||
return (
|
||||
<HScrollViewNativeComponentForPlatform
|
||||
{...props}
|
||||
ref={ref}
|
||||
ref={componentRef}
|
||||
enableSyncOnScroll={enableSyncOnScroll}
|
||||
/>
|
||||
);
|
||||
};
|
||||
});
|
||||
|
||||
export const HScrollContentViewNativeComponent: HostComponent<ViewProps> =
|
||||
Platform.OS === 'android'
|
||||
|
||||
+9
-8
@@ -20,28 +20,29 @@ import View from '../../../Libraries/Components/View/View';
|
||||
import Platform from '../../../Libraries/Utilities/Platform';
|
||||
import useSyncOnScroll from './useSyncOnScroll';
|
||||
import * as React from 'react';
|
||||
import {forwardRef} from 'react';
|
||||
|
||||
// TODO: After upgrading to React 19, remove `forwardRef` from this component.
|
||||
export const VScrollViewNativeComponent: React.AbstractComponent<
|
||||
ScrollViewNativeProps,
|
||||
TScrollViewNativeImperativeHandle,
|
||||
// $FlowExpectedError[incompatible-type] - Flow cannot model imperative handles, yet.
|
||||
> = function VScrollViewNativeComponent(props: {
|
||||
...ScrollViewNativeProps,
|
||||
ref?: React.RefSetter<TScrollViewNativeImperativeHandle | null>,
|
||||
...
|
||||
}): React.Node {
|
||||
const [ref, enableSyncOnScroll] = useSyncOnScroll(props.ref);
|
||||
> = forwardRef(function VScrollViewNativeComponent(
|
||||
props: ScrollViewNativeProps,
|
||||
ref: ?React.RefSetter<TScrollViewNativeImperativeHandle | null>,
|
||||
): React.Node {
|
||||
const [componentRef, enableSyncOnScroll] = useSyncOnScroll(ref);
|
||||
// NOTE: When `useSyncOnScroll` triggers an update, `props` will not have
|
||||
// changed. Notably, `props.children` will be the same, allowing React to
|
||||
// bail out during reconciliation.
|
||||
return (
|
||||
<ScrollViewNativeComponent
|
||||
{...props}
|
||||
ref={ref}
|
||||
ref={componentRef}
|
||||
enableSyncOnScroll={enableSyncOnScroll}
|
||||
/>
|
||||
);
|
||||
};
|
||||
});
|
||||
|
||||
export const VScrollContentViewNativeComponent: HostComponent<ViewProps> =
|
||||
Platform.OS === 'android' ? View : ScrollContentViewNativeComponent;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/tester",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"private": true,
|
||||
"description": "React Native tester app.",
|
||||
"license": "MIT",
|
||||
@@ -23,14 +23,14 @@
|
||||
"clean-ios": "rm -rf build/generated/ios Pods Podfile.lock"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-native/oss-library-example": "0.76.0-main",
|
||||
"@react-native/popup-menu-android": "0.76.0-main",
|
||||
"@react-native/oss-library-example": "0.76.0-rc.0",
|
||||
"@react-native/popup-menu-android": "0.76.0-rc.0",
|
||||
"flow-enums-runtime": "^0.0.6",
|
||||
"invariant": "^2.2.4",
|
||||
"nullthrows": "^1.1.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "19.0.0-rc-fb9a90fa48-20240614",
|
||||
"react": "18.3.1",
|
||||
"react-native": "*"
|
||||
},
|
||||
"codegenConfig": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/typescript-config",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Default TypeScript configuration for React Native apps",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@react-native/virtualized-lists",
|
||||
"version": "0.76.0-main",
|
||||
"version": "0.76.0-rc.0",
|
||||
"description": "Virtualized lists for React Native.",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
@@ -24,7 +24,7 @@
|
||||
"nullthrows": "^1.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"react-test-renderer": "19.0.0-rc-fb9a90fa48-20240614"
|
||||
"react-test-renderer": "18.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "^18.2.6",
|
||||
|
||||
@@ -164,7 +164,7 @@ async function testRNTesterAndroid(
|
||||
exec(`unzip ${downloadPath} -d ${unzipFolder}`);
|
||||
let apkPath = path.join(
|
||||
unzipFolder,
|
||||
`app-${argv.hermes === true ? 'hermes' : 'jsc'}-${emulatorArch}-release.apk`,
|
||||
`app-${argv.hermes === true ? 'hermes' : 'jsc'}-${emulatorArch}-debug.apk`,
|
||||
);
|
||||
|
||||
exec(`adb install ${apkPath}`);
|
||||
|
||||
@@ -161,13 +161,13 @@ function downloadArtifact(
|
||||
async function artifactURLForJSCRNTesterAPK(
|
||||
emulatorArch /*: string */,
|
||||
) /*: Promise<string> */ {
|
||||
return getArtifactURL('rntester-jsc-release');
|
||||
return getArtifactURL('rntester-jsc-debug');
|
||||
}
|
||||
|
||||
async function artifactURLForHermesRNTesterAPK(
|
||||
emulatorArch /*: string */,
|
||||
) /*: Promise<string> */ {
|
||||
return getArtifactURL('rntester-hermes-release');
|
||||
return getArtifactURL('rntester-hermes-debug');
|
||||
}
|
||||
|
||||
async function artifactURLForMavenLocal() /*: Promise<string> */ {
|
||||
|
||||
@@ -116,14 +116,15 @@ async function publishNpm(buildType /*: BuildType */) /*: Promise<void> */ {
|
||||
return;
|
||||
}
|
||||
|
||||
// We first publish on Maven Central the external artifacts
|
||||
// produced by iOS
|
||||
publishExternalArtifactsToMaven(version, buildType);
|
||||
|
||||
// We the publish on Maven Central all the Android artifacts.
|
||||
// NPM publishing is done just after.
|
||||
// We first publish on Maven Central all the Android artifacts.
|
||||
// Those were built by the `build-android` CI job.
|
||||
publishAndroidArtifactsToMaven(version, buildType);
|
||||
|
||||
// And we then publish on Maven Central the external artifacts
|
||||
// produced by iOS
|
||||
// NPM publishing is done just after.
|
||||
publishExternalArtifactsToMaven(version, buildType);
|
||||
|
||||
const packagePath = path.join(REPO_ROOT, 'packages', 'react-native');
|
||||
const result = publishPackage(packagePath, {
|
||||
tags: [tag],
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"react": "19.0.0-rc-fb9a90fa48-20240614",
|
||||
"react": "18.3.1",
|
||||
"react-native": "1000.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -96,7 +96,7 @@ function publishExternalArtifactsToMaven(
|
||||
// This can't be done earlier in build_android because this artifact are partially built by the iOS jobs.
|
||||
if (
|
||||
exec(
|
||||
'./gradlew :packages:react-native:ReactAndroid:external-artifacts:publishToSonatype :packages:react-native:ReactAndroid:external-artifacts:closeAndReleaseSonatypeStagingRepository',
|
||||
'./gradlew :packages:react-native:ReactAndroid:external-artifacts:publishToSonatype closeAndReleaseSonatypeStagingRepository',
|
||||
).code
|
||||
) {
|
||||
echo(
|
||||
|
||||
@@ -6304,7 +6304,7 @@ logkitty@^0.7.1:
|
||||
dayjs "^1.8.15"
|
||||
yargs "^15.1.0"
|
||||
|
||||
loose-envify@^1.0.0, loose-envify@^1.4.0:
|
||||
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
||||
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
|
||||
@@ -7387,28 +7387,54 @@ react-devtools-core@^5.3.1:
|
||||
shell-quote "^1.6.1"
|
||||
ws "^7"
|
||||
|
||||
react-is@19.0.0-rc-fb9a90fa48-20240614, react-is@^16.13.1, react-is@^16.8.4, react-is@^17.0.1, react-is@^18.0.0:
|
||||
version "19.0.0-rc-fb9a90fa48-20240614"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.0.0-rc-fb9a90fa48-20240614.tgz#6987893799abdedf2e9929e31541cb6d7dc8285a"
|
||||
integrity sha512-60qI7v1B9RhmZwjTCnAgzcuABOQsIH20vTbETQPaze96s1lY2lSawv9dvXAfF8Z1MIqOppWSKLNOshF0WsZ3OA==
|
||||
"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0:
|
||||
version "18.2.0"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
|
||||
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
|
||||
|
||||
react-is@^16.13.1, react-is@^16.8.4:
|
||||
version "16.13.1"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
|
||||
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
|
||||
|
||||
react-is@^17.0.1:
|
||||
version "17.0.2"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
|
||||
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
|
||||
|
||||
react-is@^18.3.1:
|
||||
version "18.3.1"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e"
|
||||
integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
|
||||
|
||||
react-refresh@^0.14.0:
|
||||
version "0.14.2"
|
||||
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9"
|
||||
integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==
|
||||
|
||||
react-test-renderer@19.0.0-rc-fb9a90fa48-20240614:
|
||||
version "19.0.0-rc-fb9a90fa48-20240614"
|
||||
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-19.0.0-rc-fb9a90fa48-20240614.tgz#6657b3d05a533afad5ea0516f9ed29cadf72334f"
|
||||
integrity sha512-cV3mGgsKTJCB8f4tZxWIp0ot4PMgx791XTkwpapf06ZlUk5BCP3C1CbIqRXcKeiQODvFJClZX26TFTPAklTq7A==
|
||||
react-shallow-renderer@^16.15.0:
|
||||
version "16.15.0"
|
||||
resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457"
|
||||
integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==
|
||||
dependencies:
|
||||
react-is "19.0.0-rc-fb9a90fa48-20240614"
|
||||
scheduler "0.25.0-rc-fb9a90fa48-20240614"
|
||||
object-assign "^4.1.1"
|
||||
react-is "^16.12.0 || ^17.0.0 || ^18.0.0"
|
||||
|
||||
react@19.0.0-rc-fb9a90fa48-20240614:
|
||||
version "19.0.0-rc-fb9a90fa48-20240614"
|
||||
resolved "https://registry.yarnpkg.com/react/-/react-19.0.0-rc-fb9a90fa48-20240614.tgz#90eb43a0b005e8cc3cbf0d801c14816d01df1b08"
|
||||
integrity sha512-nvE3Gy+IOIfH/DXhkyxFVQSrITarFcQz4+shzC/McxQXEUSonpw2oDy/Wi9hdDtV3hlP12VYuDL95iiBREedNQ==
|
||||
react-test-renderer@18.3.1:
|
||||
version "18.3.1"
|
||||
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.3.1.tgz#e693608a1f96283400d4a3afead6893f958b80b4"
|
||||
integrity sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==
|
||||
dependencies:
|
||||
react-is "^18.3.1"
|
||||
react-shallow-renderer "^16.15.0"
|
||||
scheduler "^0.23.2"
|
||||
|
||||
react@18.3.1:
|
||||
version "18.3.1"
|
||||
resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891"
|
||||
integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
|
||||
dependencies:
|
||||
loose-envify "^1.1.0"
|
||||
|
||||
readable-stream@^2.0.6, readable-stream@~2.3.6:
|
||||
version "2.3.8"
|
||||
@@ -7747,10 +7773,19 @@ safe-regex-test@^1.0.3:
|
||||
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
|
||||
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
|
||||
|
||||
scheduler@0.25.0-rc-fb9a90fa48-20240614:
|
||||
version "0.25.0-rc-fb9a90fa48-20240614"
|
||||
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0-rc-fb9a90fa48-20240614.tgz#9ee11063b7c0f47aef3fea53d9f1be3f13794dce"
|
||||
integrity sha512-HHqQ/SqbeiDfXXVKgNxTpbQTD4n7IUb4hZATvHjp03jr3TF7igehCyHdOjeYTrzIseLO93cTTfSb5f4qWcirMQ==
|
||||
scheduler@0.24.0-canary-efb381bbf-20230505:
|
||||
version "0.24.0-canary-efb381bbf-20230505"
|
||||
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz#5dddc60e29f91cd7f8b983d7ce4a99c2202d178f"
|
||||
integrity sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==
|
||||
dependencies:
|
||||
loose-envify "^1.1.0"
|
||||
|
||||
scheduler@^0.23.2:
|
||||
version "0.23.2"
|
||||
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3"
|
||||
integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==
|
||||
dependencies:
|
||||
loose-envify "^1.1.0"
|
||||
|
||||
selfsigned@^2.4.1:
|
||||
version "2.4.1"
|
||||
|
||||
Reference in New Issue
Block a user