From be8aa0cb8e6eeb64ff4b362b3237eb54f77cc48b Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Mon, 7 Oct 2024 12:49:28 -0700 Subject: [PATCH 01/13] 0.77.0-nightly-20240925-0cb32d5ac --- .../react-native-win32-tester/overrides.json | 2 +- .../react-native-win32-tester/package.json | 4 +- .../react-native-win32/overrides.json | 2 +- .../react-native-win32/package.json | 18 +- .../automation-channel/package.json | 2 +- .../tester/overrides.json | 2 +- .../@react-native-windows/tester/package.json | 4 +- .../@react-native/monorepo/overrides.json | 2 +- packages/@react-native/monorepo/package.json | 4 +- packages/@react-native/tester/overrides.json | 12 +- packages/e2e-test-app-fabric/package.json | 2 +- packages/e2e-test-app/package.json | 2 +- packages/integration-test-app/package.json | 2 +- packages/playground/package.json | 2 +- packages/sample-app-fabric/package.json | 2 +- packages/sample-apps/package.json | 2 +- packages/sample-custom-component/package.json | 2 +- .../react/runtime/ReactInstance.cpp | 28 ++-- vnext/overrides.json | 4 +- vnext/package.json | 18 +- yarn.lock | 157 ++++++++++-------- 21 files changed, 138 insertions(+), 135 deletions(-) diff --git a/packages/@office-iss/react-native-win32-tester/overrides.json b/packages/@office-iss/react-native-win32-tester/overrides.json index 1b7f9151ced..f2d5ebf44f7 100644 --- a/packages/@office-iss/react-native-win32-tester/overrides.json +++ b/packages/@office-iss/react-native-win32-tester/overrides.json @@ -5,7 +5,7 @@ "excludePatterns": [ "src/js/examples-win32/**" ], - "baseVersion": "0.77.0-nightly-20240921-1747f57c6", + "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "overrides": [ { "type": "patch", diff --git a/packages/@office-iss/react-native-win32-tester/package.json b/packages/@office-iss/react-native-win32-tester/package.json index c4f36201e9b..cb6a9358ce6 100644 --- a/packages/@office-iss/react-native-win32-tester/package.json +++ b/packages/@office-iss/react-native-win32-tester/package.json @@ -19,7 +19,7 @@ "peerDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.264", "react": "18.0.0", - "react-native": "0.77.0-nightly-20240921-1747f57c6" + "react-native": "0.77.0-nightly-20240925-0cb32d5ac" }, "devDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.264", @@ -30,7 +30,7 @@ "@types/node": "^18.0.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-platform-override": "^1.9.47", "typescript": "5.0.4" }, diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index 5259c7fe796..c5173662db0 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -7,7 +7,7 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.77.0-nightly-20240921-1747f57c6", + "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "overrides": [ { "type": "derived", diff --git a/packages/@office-iss/react-native-win32/package.json b/packages/@office-iss/react-native-win32/package.json index c336c1264de..166f219df75 100644 --- a/packages/@office-iss/react-native-win32/package.json +++ b/packages/@office-iss/react-native-win32/package.json @@ -30,13 +30,13 @@ "@react-native-community/cli-platform-android": "14.0.0", "@react-native-community/cli-platform-ios": "14.0.0", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/codegen": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/community-cli-plugin": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/gradle-plugin": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/js-polyfills": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/normalize-colors": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/virtualized-lists": "0.77.0-nightly-20240921-1747f57c6", + "@react-native/assets-registry": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/codegen": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/community-cli-plugin": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/gradle-plugin": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/js-polyfills": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/normalize-colors": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/virtualized-lists": "0.77.0-nightly-20240925-0cb32d5ac", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -90,14 +90,14 @@ "just-scripts": "^1.3.3", "prettier": "2.8.8", "react": "19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-platform-override": "^1.9.47", "typescript": "5.0.4" }, "peerDependencies": { "@types/react": "^18.2.6", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6" + "react-native": "0.77.0-nightly-20240925-0cb32d5ac" }, "beachball": { "defaultNpmTag": "canary", diff --git a/packages/@react-native-windows/automation-channel/package.json b/packages/@react-native-windows/automation-channel/package.json index 22d635d5b61..e62ee2ceb77 100644 --- a/packages/@react-native-windows/automation-channel/package.json +++ b/packages/@react-native-windows/automation-channel/package.json @@ -31,7 +31,7 @@ "just-scripts": "^1.3.2", "prettier": "2.8.8", "react": "19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-windows": "^0.0.0-canary.871", "typescript": "5.0.4" }, diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json index 00bed539a10..7e0abfb6c37 100644 --- a/packages/@react-native-windows/tester/overrides.json +++ b/packages/@react-native-windows/tester/overrides.json @@ -5,7 +5,7 @@ "excludePatterns": [ "src/js/examples-win/**" ], - "baseVersion": "0.77.0-nightly-20240921-1747f57c6", + "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "overrides": [ { "type": "derived", diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json index c1b74901a5d..0671f380b33 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -19,7 +19,7 @@ "peerDependencies": { "@react-native-picker/picker": "2.4.10", "react": "18.0.0", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-windows": "^0.0.0-canary.871", "react-native-xaml": "^0.0.78" }, @@ -32,7 +32,7 @@ "@types/node": "^18.0.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-platform-override": "^1.9.47", "react-native-windows": "^0.0.0-canary.871", "typescript": "5.0.4" diff --git a/packages/@react-native/monorepo/overrides.json b/packages/@react-native/monorepo/overrides.json index 278b36f46e7..f806797e40f 100644 --- a/packages/@react-native/monorepo/overrides.json +++ b/packages/@react-native/monorepo/overrides.json @@ -1,5 +1,5 @@ { - "baseVersion": "0.77.0-nightly-20240921-1747f57c6", + "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "overrides": [ { "type": "patch", diff --git a/packages/@react-native/monorepo/package.json b/packages/@react-native/monorepo/package.json index 2fa6d794ad1..b2b1436580a 100644 --- a/packages/@react-native/monorepo/package.json +++ b/packages/@react-native/monorepo/package.json @@ -47,8 +47,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.77.0-nightly-20240921-1747f57c6", - "@react-native/metro-config": "0.77.0-nightly-20240921-1747f57c6", + "@react-native/metro-babel-transformer": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/metro-config": "0.77.0-nightly-20240925-0cb32d5ac", "@tsconfig/node18": "1.0.1", "@types/react": "^18.2.6", "@typescript-eslint/parser": "^7.1.1", diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json index 76e1f47b6ef..d30eba65d32 100644 --- a/packages/@react-native/tester/overrides.json +++ b/packages/@react-native/tester/overrides.json @@ -1,5 +1,5 @@ { - "baseVersion": "0.77.0-nightly-20240921-1747f57c6", + "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "overrides": [ { "type": "copy", @@ -12,7 +12,6 @@ "type": "copy", "directory": "js/components", "baseDirectory": "packages/rn-tester/js/components", - "baseVersion": "0.77.0-nightly-20240915-afb40e9f2", "baseHash": "c3668e7f1197c559d18ff6cb16078f53636ddc29", "issue": 4054 }, @@ -20,7 +19,7 @@ "type": "copy", "directory": "js/examples/Accessibility", "baseDirectory": "packages/rn-tester/js/examples/Accessibility", - "baseHash": "d48d32375e4ebcd408446d44e01fe61db412b7af", + "baseHash": "8679456302662e4ce453c6bb41740a8739d3b5f0", "issue": 4054 }, { @@ -132,7 +131,6 @@ "type": "copy", "directory": "js/examples/Filter", "baseDirectory": "packages/rn-tester/js/examples/Filter", - "baseVersion": "0.77.0-nightly-20240915-afb40e9f2", "baseHash": "0bc04c6ee9f9c427da85915be91c0d49aeede435", "issue": 4054 }, @@ -147,7 +145,6 @@ "type": "copy", "directory": "js/examples/Image", "baseDirectory": "packages/rn-tester/js/examples/Image", - "baseVersion": "0.77.0-nightly-20240915-afb40e9f2", "baseHash": "52c008e059a1385dc9a49b5f773ca1f1f4389b61", "issue": 4054 }, @@ -211,8 +208,7 @@ "type": "copy", "directory": "js/examples/Modal", "baseDirectory": "packages/rn-tester/js/examples/Modal", - "baseVersion": "0.77.0-nightly-20240918-bebd6531b", - "baseHash": "2a676165a58a182d633eede14add631af3cc134f", + "baseHash": "e4cbd489c88782d6d22aa7cbd404bf4e522b480c", "issue": 4054 }, { @@ -394,7 +390,6 @@ "type": "copy", "directory": "js/examples/Text", "baseDirectory": "packages/rn-tester/js/examples/Text", - "baseVersion": "0.77.0-nightly-20240915-afb40e9f2", "baseHash": "528bba6e7f5938ec8c81c54471962883047e68f3", "issue": 4054 }, @@ -402,7 +397,6 @@ "type": "copy", "directory": "js/examples/TextInput", "baseDirectory": "packages/rn-tester/js/examples/TextInput", - "baseVersion": "0.77.0-nightly-20240915-afb40e9f2", "baseHash": "517045664204290fb29333ce7919cb6855d8c33f", "issue": 4054 }, diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json index 039a4037aca..68586b118b7 100644 --- a/packages/e2e-test-app-fabric/package.json +++ b/packages/e2e-test-app-fabric/package.json @@ -20,7 +20,7 @@ "@typescript-eslint/eslint-plugin": "^5.21.0", "@typescript-eslint/parser": "^5.21.0", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/packages/e2e-test-app/package.json b/packages/e2e-test-app/package.json index 7c343a0766d..83bf093e0a5 100644 --- a/packages/e2e-test-app/package.json +++ b/packages/e2e-test-app/package.json @@ -20,7 +20,7 @@ "@typescript-eslint/eslint-plugin": "^5.21.0", "@typescript-eslint/parser": "^5.21.0", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-windows": "^0.0.0-canary.871", "react-native-xaml": "^0.0.78" }, diff --git a/packages/integration-test-app/package.json b/packages/integration-test-app/package.json index 45aad38565f..4acbb5e261c 100644 --- a/packages/integration-test-app/package.json +++ b/packages/integration-test-app/package.json @@ -17,7 +17,7 @@ "@typescript-eslint/parser": "^5.21.0", "chai": "^4.2.0", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/packages/playground/package.json b/packages/playground/package.json index 6c6f4288e0b..0f8930b4af6 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -16,7 +16,7 @@ "@typescript-eslint/eslint-plugin": "^5.21.0", "@typescript-eslint/parser": "^5.21.0", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/packages/sample-app-fabric/package.json b/packages/sample-app-fabric/package.json index 4914785aa13..e27482c05f5 100644 --- a/packages/sample-app-fabric/package.json +++ b/packages/sample-app-fabric/package.json @@ -16,7 +16,7 @@ "@typescript-eslint/eslint-plugin": "^5.21.0", "@typescript-eslint/parser": "^5.21.0", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/packages/sample-apps/package.json b/packages/sample-apps/package.json index 9a94ebf9383..358ca97feba 100644 --- a/packages/sample-apps/package.json +++ b/packages/sample-apps/package.json @@ -16,7 +16,7 @@ "@typescript-eslint/eslint-plugin": "^5.30.5", "@typescript-eslint/parser": "^5.57.1", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/packages/sample-custom-component/package.json b/packages/sample-custom-component/package.json index 1836ad5302d..78c673f4112 100644 --- a/packages/sample-custom-component/package.json +++ b/packages/sample-custom-component/package.json @@ -21,7 +21,7 @@ "dependencies": { "@types/react": "^18.2.6", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp index 37c8baad066..890a3f4271f 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp @@ -137,7 +137,7 @@ ReactInstance::ReactInstance( PerformanceEntryReporter::getInstance().get()); bufferedRuntimeExecutor_ = std::make_shared( - [runtimeScheduler = runtimeScheduler_.get()]( + [runtimeScheduler = runtimeScheduler_]( std::function&& callback) { runtimeScheduler->scheduleWork(std::move(callback)); }); @@ -156,7 +156,7 @@ void ReactInstance::unregisterFromInspector() { } RuntimeExecutor ReactInstance::getUnbufferedRuntimeExecutor() noexcept { - return [runtimeScheduler = runtimeScheduler_.get()]( + return [runtimeScheduler = runtimeScheduler_]( std::function&& callback) { runtimeScheduler->scheduleWork(std::move(callback)); }; @@ -167,12 +167,14 @@ RuntimeExecutor ReactInstance::getUnbufferedRuntimeExecutor() noexcept { // getUnbufferedRuntimeExecutor() instead if you do not need the main JS bundle // to have finished. e.g. setting global variables into JS runtime. RuntimeExecutor ReactInstance::getBufferedRuntimeExecutor() noexcept { - return [weakBufferedRuntimeExecutor_ = + // FIXME: we don't really need a weak reference here, bufferedRuntimeExecutor + // retains a strong reference to runtimeScheduler, which in turns retains weak + // references to the runtime + return [weakBufferedRuntimeExecutor = std::weak_ptr(bufferedRuntimeExecutor_)]( std::function&& callback) { - if (auto strongBufferedRuntimeExecutor_ = - weakBufferedRuntimeExecutor_.lock()) { - strongBufferedRuntimeExecutor_->execute(std::move(callback)); + if (auto bufferedRuntimeExecutor = weakBufferedRuntimeExecutor.lock()) { + bufferedRuntimeExecutor->execute(std::move(callback)); } }; } @@ -209,12 +211,8 @@ void ReactInstance::loadScript( std::string scriptName = simpleBasename(sourceURL); runtimeScheduler_->scheduleWork( - [this, - scriptName, - sourceURL, - buffer = std::move(buffer), - weakBufferedRuntimeExecuter = std::weak_ptr( - bufferedRuntimeExecutor_)](jsi::Runtime& runtime) { + [this, scriptName, sourceURL, buffer = std::move(buffer)]( + jsi::Runtime& runtime) { SystraceSection s("ReactInstance::loadScript"); bool hasLogger(ReactMarker::logTaggedMarkerBridgelessImpl); if (hasLogger) { @@ -240,10 +238,8 @@ void ReactInstance::loadScript( ReactMarker::INIT_REACT_RUNTIME_STOP); ReactMarker::logMarkerBridgeless(ReactMarker::APP_STARTUP_STOP); } - if (auto strongBufferedRuntimeExecuter = - weakBufferedRuntimeExecuter.lock()) { - strongBufferedRuntimeExecuter->flush(); - } + + bufferedRuntimeExecutor_->flush(); }); } diff --git a/vnext/overrides.json b/vnext/overrides.json index f0f874220b1..7e1ab5f084a 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -8,7 +8,7 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.77.0-nightly-20240921-1747f57c6", + "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "overrides": [ { "type": "derived", @@ -214,7 +214,7 @@ "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp", "baseFile": "packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp", - "baseHash": "2c02cd138f55d35ae118ee251e18e2e9243c2a0e", + "baseHash": "807c3113a5dbfe4774994e9b02058dc55525b80d", "issue": 13172 }, { diff --git a/vnext/package.json b/vnext/package.json index b8f42162d61..029adc5e95c 100644 --- a/vnext/package.json +++ b/vnext/package.json @@ -28,13 +28,13 @@ "@react-native-community/cli-platform-ios": "14.0.0", "@react-native-windows/cli": "0.0.0-canary.238", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/codegen": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/community-cli-plugin": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/gradle-plugin": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/js-polyfills": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/normalize-colors": "0.77.0-nightly-20240921-1747f57c6", - "@react-native/virtualized-lists": "0.77.0-nightly-20240921-1747f57c6", + "@react-native/assets-registry": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/codegen": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/community-cli-plugin": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/gradle-plugin": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/js-polyfills": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/normalize-colors": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/virtualized-lists": "0.77.0-nightly-20240925-0cb32d5ac", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -86,7 +86,7 @@ "just-scripts": "^1.3.3", "prettier": "2.8.8", "react": "19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6", + "react-native": "0.77.0-nightly-20240925-0cb32d5ac", "react-native-platform-override": "^1.9.47", "react-refresh": "^0.14.0", "typescript": "5.0.4" @@ -94,7 +94,7 @@ "peerDependencies": { "@types/react": "^18.2.6", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240921-1747f57c6" + "react-native": "0.77.0-nightly-20240925-0cb32d5ac" }, "beachball": { "defaultNpmTag": "canary", diff --git a/yarn.lock b/yarn.lock index 701b3207104..0fd825bd14a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1320,7 +1320,20 @@ "@babel/parser" "^7.25.7" "@babel/types" "^7.25.7" -"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3", "@babel/traverse@^7.11.5", "@babel/traverse@^7.20.0", "@babel/traverse@^7.23.2", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.25.7": +"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.7.tgz#83e367619be1cab8e4f2892ef30ba04c26a40fa8" + integrity sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/traverse@^7.11.5", "@babel/traverse@^7.20.0", "@babel/traverse@^7.23.2", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.25.7": version "7.25.7" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.7.tgz#83e367619be1cab8e4f2892ef30ba04c26a40fa8" integrity sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg== @@ -2582,10 +2595,10 @@ resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.8.1.tgz#0dcfba3ee9e981a384fe2105ca21477ce2d63dc8" integrity sha512-iFhsKQzRh/z3GlmvJWSjJJ4333FdLE/PhXxlGlYllE7sFf+UTzziVY+ajatuJ+R5zDw2AxfJV4v/3tAzUJb0/A== -"@react-native/assets-registry@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.77.0-nightly-20240921-1747f57c6.tgz#66a7af14d795ea6fede53d5c1b10e06691755b23" - integrity sha512-ECcA2V0h+xYx4gQO17kpM5TEFRzoaQJf0H8AuO+8HDicij090c7r5sLdNt/YDK5TGaHFviG55r98v6oTTh4NDQ== +"@react-native/assets-registry@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.77.0-nightly-20240925-0cb32d5ac.tgz#648ea72d0464a808941369a1292285f24c62498f" + integrity sha512-XDOOcE96r6ju/2tii/AAuUnsPxLDl6wq3bFXaKwDnvMOrxRGxmRMHNrSjD9U8H/uE6EqQ+i256QKKRA/sn0wfQ== "@react-native/assets@1.0.0": version "1.0.0" @@ -2606,13 +2619,13 @@ dependencies: "@react-native/codegen" "0.76.0-nightly-20240901-305b4357e" -"@react-native/babel-plugin-codegen@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.77.0-nightly-20240921-1747f57c6.tgz#fa10cc0ab23b26a7b251b91d81d62fad3022cad3" - integrity sha512-sR4b+aXb3Y2qqoGSrGQoEX8As7ddtendmlhNvufz4UCkkQJvYm4MxxhjuhqmzF0G6f6m65ZWDPAQx0UTrGXZuQ== +"@react-native/babel-plugin-codegen@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.77.0-nightly-20240925-0cb32d5ac.tgz#5283a215d70d12c70a738996d8c4b94e4792657b" + integrity sha512-vbaG5Gh1o63fhuqlA3reCB0aanf3HTLaY5vJtAeSteIwUfOitJp/KXBjhKIMBmWsbdPR9+51/FOu6T3RZqSJfQ== dependencies: "@babel/traverse" "^7.25.3" - "@react-native/codegen" "0.77.0-nightly-20240921-1747f57c6" + "@react-native/codegen" "0.77.0-nightly-20240925-0cb32d5ac" "@react-native/babel-preset@0.76.0-nightly-20240701-9f6cb21ed": version "0.76.0-nightly-20240701-9f6cb21ed" @@ -2716,10 +2729,10 @@ babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" -"@react-native/babel-preset@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.77.0-nightly-20240921-1747f57c6.tgz#4465693bb38594909ba0a840368b0430932eaff7" - integrity sha512-NQhjIhzDDwQqEWZh8qjYQhNmRf9NQUDzOrg4jBYUuGl3opUOhUzl5wStrGBXV/F8ICw064Nizp+xvFuBkfDT1w== +"@react-native/babel-preset@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.77.0-nightly-20240925-0cb32d5ac.tgz#db713f321d2f44ae36559585d0b6fab763af5361" + integrity sha512-L/NC/Cdeudn+kxcMYWMjrNQnc5b7HyTgT0QSw9Rvlb2JlfnA3t3sovMbPYuf40vwq2iFlBFZl7O32WcKSPFHDA== dependencies: "@babel/core" "^7.25.2" "@babel/plugin-proposal-export-default-from" "^7.24.7" @@ -2763,7 +2776,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.77.0-nightly-20240921-1747f57c6" + "@react-native/babel-plugin-codegen" "0.77.0-nightly-20240925-0cb32d5ac" babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" @@ -2794,10 +2807,10 @@ nullthrows "^1.1.1" yargs "^17.6.2" -"@react-native/codegen@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.77.0-nightly-20240921-1747f57c6.tgz#3708d4c505c8026da1ad49d366706375eb9dcff7" - integrity sha512-TO68IkZZDMBBRpIa/Ly1jdCDwZNEb+9oUkMvHRiDRuWp3WH5dDSYvvIP344cvdFyhbNKwITPL+Q7OhxijfK4Bg== +"@react-native/codegen@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.77.0-nightly-20240925-0cb32d5ac.tgz#80ee589a17e3c7ced4eeccf45f5052b91b3a68bf" + integrity sha512-PBdh7Hl8FeaM9YOF3JdtbJTt+JhlOmD6fCXHfuodz9Tx9UMmkKlHg8+CEGBSTjd0YAgtDhHnZMsp+vvGINEVmw== dependencies: "@babel/parser" "^7.25.3" glob "^7.1.1" @@ -2807,13 +2820,13 @@ nullthrows "^1.1.1" yargs "^17.6.2" -"@react-native/community-cli-plugin@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.77.0-nightly-20240921-1747f57c6.tgz#0161bca5def35d75a14351029e0984668ccd914e" - integrity sha512-0fioVIMz1W9H9otK9ZImB16nhwgoDz9hmsiUmfgD0BLl7aELad7vRMSNuOD6C0ceyjPh8LVRSaTrbjFSJX1d+w== +"@react-native/community-cli-plugin@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.77.0-nightly-20240925-0cb32d5ac.tgz#0e82b7c8c3fedf62da752c7e0b90d943ae8ca1bd" + integrity sha512-zx4UTgIH4yiI1w2HI1XxE1W+/X7YLYmn+SVKsJAN6MrSm16wNhLcIrA64A7rSMJAkeoRL47hlwZIZ8cGZZ3D9Q== dependencies: - "@react-native/dev-middleware" "0.77.0-nightly-20240921-1747f57c6" - "@react-native/metro-babel-transformer" "0.77.0-nightly-20240921-1747f57c6" + "@react-native/dev-middleware" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/metro-babel-transformer" "0.77.0-nightly-20240925-0cb32d5ac" chalk "^4.0.0" execa "^5.1.1" metro "^0.81.0-alpha.0" @@ -2822,18 +2835,18 @@ node-fetch "^2.2.0" readline "^1.3.0" -"@react-native/debugger-frontend@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.77.0-nightly-20240921-1747f57c6.tgz#cd1ba8d66031d5f4fe5943bc10b87c5499f7278b" - integrity sha512-hLpi5WVBHANhr2Fr9yjp+azjT60OHL0pG2QXDAWtLAHMuNCCkqCft6KiYogp6FZp/ijb8LnoW0b1Zel957CeKQ== +"@react-native/debugger-frontend@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.77.0-nightly-20240925-0cb32d5ac.tgz#767d74000ff0fbaa4de1db4870b47e94ef3e6d9c" + integrity sha512-IlPvPxkcN2JpRZWbVxV0ow0rX2zvvkZ/p+ohwecH9sFdgO9jvG8FSpVOFA4wJHzEb8NnpFdRgQdHsGGhfK1JeQ== -"@react-native/dev-middleware@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.77.0-nightly-20240921-1747f57c6.tgz#aff58f0ccadff53ec3c963632affbbc3bdb87263" - integrity sha512-yFnldcfJf6TAiw8AxNgk6scvcvyeqHj1MM+O1r/wxN2cuZQIGqSzsUGlqxyp5uwkD4Eau2e5dylOKuSKY6xS1g== +"@react-native/dev-middleware@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.77.0-nightly-20240925-0cb32d5ac.tgz#b72f20c1fee656246c2bcc251a955e39103c1f8f" + integrity sha512-GpaPm4XvkjQcObKuMOgpWA3xJKlRIn9tuEEw0v5p3dy4PdGMznb1ex1Y0hg0u+Z+In7ysPjqu9qmSj7UomP1rw== dependencies: "@isaacs/ttlcache" "^1.4.1" - "@react-native/debugger-frontend" "0.77.0-nightly-20240921-1747f57c6" + "@react-native/debugger-frontend" "0.77.0-nightly-20240925-0cb32d5ac" chrome-launcher "^0.15.2" chromium-edge-launcher "^0.2.0" connect "^3.6.5" @@ -2867,10 +2880,10 @@ resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.76.0-nightly-20240701-9f6cb21ed.tgz#d64bb11c33665943e7ac80c92182659a3f20d3a4" integrity sha512-M6jRQHL5v+xXEd5ChLqJc/isVmUaSiHiZpodUlu2bGnWTRNxTzx5Ohamp1r9xZGK+bqQ6+J+AQhOUpsCX+K1Lg== -"@react-native/gradle-plugin@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.77.0-nightly-20240921-1747f57c6.tgz#2c9764c14c497cde36baa55c85db0021e711b709" - integrity sha512-HogL9HGAgx3SwVndx6ZDOIauKWx0EtqY0G2KLL59QxtB14hg7Z6b3XplpdR9l0dsT+BMFopsggf/t0ic+pvJ/w== +"@react-native/gradle-plugin@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.77.0-nightly-20240925-0cb32d5ac.tgz#699c6d92ff4a9eb711dec7c954d2570426a72ee6" + integrity sha512-MAYjyM5fvYH/ulP5wwrH8EoEtmjaHgK3dX5oU/IECN+y1SAw7NkTExF3eeO5BPrgefqAW7NHSwlh32l/NKXjZg== "@react-native/js-polyfills@0.76.0-nightly-20240701-9f6cb21ed": version "0.76.0-nightly-20240701-9f6cb21ed" @@ -2882,10 +2895,10 @@ resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.76.0-nightly-20240901-305b4357e.tgz#f7526bc704517ea5af23053fce55988243fd7e35" integrity sha512-+yllZ6rN9vFPVYfqgTd2lPPQmVkvE6yL+rqZZwXCXGS9YTC9Td0H9aQ1a6VloqpXPs4qe5LSEKNHcCXY37lhjQ== -"@react-native/js-polyfills@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.77.0-nightly-20240921-1747f57c6.tgz#7878714657d576e5a5e3759eade39a712b28bf4b" - integrity sha512-hDVYLuWomWMV0SIySyHhOemeR6Syt57AIuLuOOZhG8DRZ9dzTW2h5gTMkepU/p4zNAWRY93QcDlccRp5xGGiBQ== +"@react-native/js-polyfills@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.77.0-nightly-20240925-0cb32d5ac.tgz#7672f8c6d37f83034b33528400581c4e8f90bee0" + integrity sha512-glNQc7L2nJFpsWg/gqygJCF+8BfhwpCO7zDAs1NLT82otZ90654H6NMXqEYRgJKYnqM2FRq8hhppkJcsMDOqvw== "@react-native/metro-babel-transformer@0.76.0-nightly-20240701-9f6cb21ed": version "0.76.0-nightly-20240701-9f6cb21ed" @@ -2907,13 +2920,13 @@ hermes-parser "0.23.1" nullthrows "^1.1.1" -"@react-native/metro-babel-transformer@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.77.0-nightly-20240921-1747f57c6.tgz#b9380afca88b4a5b1c65d73d7df957c251a13c7d" - integrity sha512-lS1rgWWT5DSOtY6YRbPEZuPAE52LD3CO1IJRsHkYabHmOAeEjVIRGtZldP210DrWS5a8cKM2ATtbo06PSn3XNQ== +"@react-native/metro-babel-transformer@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.77.0-nightly-20240925-0cb32d5ac.tgz#5f80a59c4b80826e53900294072085db92fe90c1" + integrity sha512-27fxgLGDR4MkEO0cpHI+NoYq70/Xqwr3C5H9dLiQNBHYgzJBalsglzcVRH/5boy/ql1L5vqHzEIhAzJaXzz+vA== dependencies: "@babel/core" "^7.25.2" - "@react-native/babel-preset" "0.77.0-nightly-20240921-1747f57c6" + "@react-native/babel-preset" "0.77.0-nightly-20240925-0cb32d5ac" hermes-parser "0.23.1" nullthrows "^1.1.1" @@ -2937,20 +2950,20 @@ metro-config "^0.80.10" metro-runtime "^0.80.10" -"@react-native/metro-config@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.77.0-nightly-20240921-1747f57c6.tgz#38502aa2ec559b3365dc4f1332a20a09b6b73226" - integrity sha512-YWbwD5WmzoPz3aLfsvwOiw6NTuYv4C6bK+Zp654PdPdh5br43K/+KOWYUSdcyzTbZvyVDGJ881ORGtDwLVjChQ== +"@react-native/metro-config@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.77.0-nightly-20240925-0cb32d5ac.tgz#0946e7189f31c8eb1e4288dbf0829533cb7fba4e" + integrity sha512-LbW8yAB1hAZvh17YNP2U3cObKwYvIel6UP99ZKmA1pqZTW0EAlBV7pz2nLIeaD3MRLUYoK1eyzKhhBfmDsrNAw== dependencies: - "@react-native/js-polyfills" "0.77.0-nightly-20240921-1747f57c6" - "@react-native/metro-babel-transformer" "0.77.0-nightly-20240921-1747f57c6" + "@react-native/js-polyfills" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/metro-babel-transformer" "0.77.0-nightly-20240925-0cb32d5ac" metro-config "^0.81.0-alpha.0" metro-runtime "^0.81.0-alpha.0" -"@react-native/normalize-colors@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.77.0-nightly-20240921-1747f57c6.tgz#1b25279d3e5072dda91be970d020e3ecd3d32683" - integrity sha512-VLd4Qego8EmYk56TOBo/dZKY1FyFKUSgsBkwTYBfHCKZfixA9iA8xw3HAIPdGwlv5GyRG331pvR1diKupxXHZg== +"@react-native/normalize-colors@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.77.0-nightly-20240925-0cb32d5ac.tgz#ccab3e1a8880ac1fd4dff0aaa0d4f5761cec0060" + integrity sha512-M5qWnw70ELsqsHlTnJ+50So30I1vc1lPcIwwvx8zJcyzWmZcUSO/uQyYbjsQkxcjT6RhfqyYhp81JqFsQ1YLPA== "@react-native/popup-menu-android@0.76.0-nightly-20240816-17017d2b8": version "0.76.0-nightly-20240816-17017d2b8" @@ -2959,10 +2972,10 @@ dependencies: nullthrows "^1.1.1" -"@react-native/virtualized-lists@0.77.0-nightly-20240921-1747f57c6": - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.77.0-nightly-20240921-1747f57c6.tgz#350943f3decec232938dacdebb8642ac7193a2eb" - integrity sha512-WRpL9EZZ2OAMWXjfGr01bQegN+Q+ICmV6BBVulPwQG+G4bcHolrSKtITLmnt3g3zTYTx5OioUMpiF3xwm0tPIA== +"@react-native/virtualized-lists@0.77.0-nightly-20240925-0cb32d5ac": + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.77.0-nightly-20240925-0cb32d5ac.tgz#894232d268eb77d48e718add6200c58f1926e268" + integrity sha512-CWNH4Ixjqi0UYNZfwEy82tXejffITKphoA5qpbmcEfQHPEgUvsAcmP0T2ur9NexawBlaQ0ZPPu8OPvIb8dpYmA== dependencies: invariant "^2.2.4" nullthrows "^1.1.1" @@ -11143,19 +11156,19 @@ react-native-xaml@^0.0.78: dependencies: "@types/react" "*" -react-native@0.77.0-nightly-20240921-1747f57c6: - version "0.77.0-nightly-20240921-1747f57c6" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.77.0-nightly-20240921-1747f57c6.tgz#cd2b2205e16031cdc2463ff996e709aeb819d814" - integrity sha512-VYDKZZPQlRIfHUzL9vYQNuntSHF1LglP+AEQCy8g4dZx1trdgEs6RO6yeVnnIUJ1oTWFrjtgI8aRPv5VFJRFUg== +react-native@0.77.0-nightly-20240925-0cb32d5ac: + version "0.77.0-nightly-20240925-0cb32d5ac" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.77.0-nightly-20240925-0cb32d5ac.tgz#7b9e88c2870b6abd2c146b61577b3e9a8da82fc0" + integrity sha512-ax0TuhDfnGhASVJZ7g80Mws24PDGL9Ks2UQrjpHVkBEHv63iG5WhHTe//sslIK0SID4hQ3M7ZuwfDIMUlNOLfw== dependencies: "@jest/create-cache-key-function" "^29.6.3" - "@react-native/assets-registry" "0.77.0-nightly-20240921-1747f57c6" - "@react-native/codegen" "0.77.0-nightly-20240921-1747f57c6" - "@react-native/community-cli-plugin" "0.77.0-nightly-20240921-1747f57c6" - "@react-native/gradle-plugin" "0.77.0-nightly-20240921-1747f57c6" - "@react-native/js-polyfills" "0.77.0-nightly-20240921-1747f57c6" - "@react-native/normalize-colors" "0.77.0-nightly-20240921-1747f57c6" - "@react-native/virtualized-lists" "0.77.0-nightly-20240921-1747f57c6" + "@react-native/assets-registry" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/codegen" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/community-cli-plugin" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/gradle-plugin" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/js-polyfills" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/normalize-colors" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/virtualized-lists" "0.77.0-nightly-20240925-0cb32d5ac" abort-controller "^3.0.0" anser "^1.4.9" ansi-regex "^5.0.0" From 4c280615e7984a266800d5c97743d51b993ad78c Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Mon, 7 Oct 2024 14:32:36 -0700 Subject: [PATCH 02/13] 0.77.0-nightly-20241001-223e98cc4 --- .../react-native-win32-tester/overrides.json | 4 +- .../react-native-win32-tester/package.json | 4 +- .../src/js/utils/RNTesterList.win32.js | 13 +- .../react-native-win32/.flowconfig | 2 +- .../react-native-win32/overrides.json | 13 +- .../react-native-win32/package.json | 20 +- .../DrawerAndroid/DrawerLayoutAndroid.js | 4 +- .../Components/Touchable/Touchable.win32.js | 4 + .../NativeComponent/BaseViewConfig.win32.js | 2 +- .../react-native-win32/src-win/index.win32.js | 4 + .../automation-channel/package.json | 2 +- .../tester/overrides.json | 4 +- .../@react-native-windows/tester/package.json | 4 +- .../src/js/utils/RNTesterList.windows.js | 13 +- .../@react-native/monorepo/overrides.json | 4 +- packages/@react-native/monorepo/package.json | 8 +- .../tester/js/RNTesterAppShared.js | 24 +- .../tester/js/utils/RNTesterList.android.js | 13 +- .../tester/js/utils/RNTesterList.ios.js | 14 +- .../tester/js/utils/RNTesterList.js.flow | 4 +- .../js/utils/RNTesterNavigationReducer.js | 15 +- .../tester/js/utils/testerStateUtils.js | 1 + packages/@react-native/tester/overrides.json | 26 +- packages/e2e-test-app-fabric/package.json | 2 +- packages/e2e-test-app/package.json | 2 +- packages/integration-test-app/package.json | 2 +- packages/playground/package.json | 2 +- packages/sample-app-fabric/package.json | 2 +- packages/sample-apps/package.json | 2 +- packages/sample-custom-component/package.json | 2 +- vnext/.flowconfig | 2 +- .../react/runtime/ReactInstance.cpp | 28 +- .../NativeDevToolsSettingsManagerSpec.g.h | 52 --- .../codegen/NativePerformanceObserverSpec.g.h | 98 +++--- ...NativeReactDevToolsSettingsManagerSpec.g.h | 40 +++ .../NativeReactNativeFeatureFlagsSpec.g.h | 170 +++++----- .../components/rnwcore/ComponentDescriptors.h | 1 - .../react/components/rnwcore/ShadowNodes.cpp | 1 - .../react/components/rnwcore/ShadowNodes.h | 11 - .../codegen/react/components/rnwcore/States.h | 12 - vnext/codegen/rnwcoreJSI-generated.cpp | 146 ++++---- vnext/codegen/rnwcoreJSI.h | 313 +++++++++--------- vnext/overrides.json | 13 +- vnext/package.json | 20 +- .../Components/Touchable/Touchable.windows.js | 4 + .../NativeComponent/BaseViewConfig.windows.js | 2 +- vnext/src-win/index.windows.js | 4 + yarn.lock | 253 ++++++-------- 48 files changed, 679 insertions(+), 707 deletions(-) delete mode 100644 vnext/codegen/NativeDevToolsSettingsManagerSpec.g.h create mode 100644 vnext/codegen/NativeReactDevToolsSettingsManagerSpec.g.h diff --git a/packages/@office-iss/react-native-win32-tester/overrides.json b/packages/@office-iss/react-native-win32-tester/overrides.json index f2d5ebf44f7..cd1e8057f2d 100644 --- a/packages/@office-iss/react-native-win32-tester/overrides.json +++ b/packages/@office-iss/react-native-win32-tester/overrides.json @@ -5,7 +5,7 @@ "excludePatterns": [ "src/js/examples-win32/**" ], - "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", + "baseVersion": "0.77.0-nightly-20241001-223e98cc4", "overrides": [ { "type": "patch", @@ -42,7 +42,7 @@ "type": "derived", "file": "src/js/utils/RNTesterList.win32.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js", - "baseHash": "b40cdc34295381fbd40d38ade093cc0d198edd13" + "baseHash": "a4a186470316624bcd693e7f8b67739f87e5729c" } ] } \ No newline at end of file diff --git a/packages/@office-iss/react-native-win32-tester/package.json b/packages/@office-iss/react-native-win32-tester/package.json index cb6a9358ce6..748b2530ef8 100644 --- a/packages/@office-iss/react-native-win32-tester/package.json +++ b/packages/@office-iss/react-native-win32-tester/package.json @@ -19,7 +19,7 @@ "peerDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.264", "react": "18.0.0", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac" + "react-native": "0.77.0-nightly-20241001-223e98cc4" }, "devDependencies": { "@office-iss/react-native-win32": "^0.0.0-canary.264", @@ -30,7 +30,7 @@ "@types/node": "^18.0.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-platform-override": "^1.9.47", "typescript": "5.0.4" }, diff --git a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js index e57a1408610..60d70f1486d 100644 --- a/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js +++ b/packages/@office-iss/react-native-win32-tester/src/js/utils/RNTesterList.win32.js @@ -10,7 +10,7 @@ 'use strict'; -import type {RNTesterModuleInfo} from '../types/RNTesterTypes'; +import type {RNTesterModuleInfo, RNTesterModule} from '../types/RNTesterTypes'; import ReactNativeFeatureFlags from 'react-native/Libraries/ReactNative/ReactNativeFeatureFlags'; @@ -368,9 +368,16 @@ if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) { }); } -const Modules: any = {}; +const Playgrounds: Array = [ + { + key: 'PlaygroundExample', + module: require('../examples/Playground/PlaygroundExample'), + }, +]; + +const Modules: {[key: string]: RNTesterModule} = {}; -APIs.concat(Components).forEach(Example => { +[...APIs, ...Components, ...Playgrounds].forEach(Example => { Modules[Example.key] = Example.module; }); diff --git a/packages/@office-iss/react-native-win32/.flowconfig b/packages/@office-iss/react-native-win32/.flowconfig index ef2889a84b8..882f242db28 100644 --- a/packages/@office-iss/react-native-win32/.flowconfig +++ b/packages/@office-iss/react-native-win32/.flowconfig @@ -160,4 +160,4 @@ untyped-import untyped-type-import [version] -^0.246.0 +^0.247.1 diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index c5173662db0..eac77e65339 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -7,19 +7,19 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", + "baseVersion": "0.77.0-nightly-20241001-223e98cc4", "overrides": [ { "type": "derived", "file": ".flowconfig", "baseFile": ".flowconfig", - "baseHash": "3fbaf9dcd4027fa382894d06f330d0c68ceff9fb" + "baseHash": "0ef50a705dc56608e4a8bd11d3b0d3daedfc0012" }, { "type": "derived", "file": "src-win/index.win32.js", "baseFile": "packages/react-native/index.js", - "baseHash": "da5d9e79c8c14c56ba00f73c8514c06e6fffe8ed" + "baseHash": "70b04f859a60e3752e6937b9fc294ffee30e6366" }, { "type": "platform", @@ -74,7 +74,7 @@ "type": "copy", "file": "src-win/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js", "baseFile": "packages/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js", - "baseHash": "09f143fc3f2ee80463764e1c2b3f23107d501a4c", + "baseHash": "b9a6866d03ca389af38734ffed24199505b05402", "issue": 4378 }, { @@ -136,7 +136,7 @@ "type": "patch", "file": "src-win/Libraries/Components/Touchable/Touchable.win32.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/Touchable.js", - "baseHash": "27e19d3bf49ff28629fdad544aad04939c2ce030", + "baseHash": "b06bb9da5282d7559f283a7d535797a0417808a6", "issue": 0 }, { @@ -228,6 +228,7 @@ "type": "copy", "file": "src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js", "baseFile": "packages/react-native/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js", + "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "baseHash": "1c9eb481e8ed077fa650e3ea34837e2a31310366" }, { @@ -337,7 +338,7 @@ "type": "derived", "file": "src-win/Libraries/NativeComponent/BaseViewConfig.win32.js", "baseFile": "packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js", - "baseHash": "0b4642542c2865c5cd3d542a82b295a1aca21c1a" + "baseHash": "af602af3c3acc6521f5535f2fe14bfe08cf1b5e9" }, { "type": "copy", diff --git a/packages/@office-iss/react-native-win32/package.json b/packages/@office-iss/react-native-win32/package.json index 166f219df75..59c2856a01d 100644 --- a/packages/@office-iss/react-native-win32/package.json +++ b/packages/@office-iss/react-native-win32/package.json @@ -30,13 +30,13 @@ "@react-native-community/cli-platform-android": "14.0.0", "@react-native-community/cli-platform-ios": "14.0.0", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/codegen": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/community-cli-plugin": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/gradle-plugin": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/js-polyfills": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/normalize-colors": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/virtualized-lists": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/assets-registry": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/codegen": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/community-cli-plugin": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/gradle-plugin": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/js-polyfills": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/normalize-colors": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/virtualized-lists": "0.77.0-nightly-20241001-223e98cc4", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -60,7 +60,7 @@ "pretty-format": "^29.7.0", "promise": "^8.3.0", "react-clone-referenced-element": "^1.0.1", - "react-devtools-core": "^5.3.1", + "react-devtools-core": "^6.0.0", "react-refresh": "^0.14.0", "react-shallow-renderer": "^16.15.0", "regenerator-runtime": "^0.13.2", @@ -90,14 +90,14 @@ "just-scripts": "^1.3.3", "prettier": "2.8.8", "react": "19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-platform-override": "^1.9.47", "typescript": "5.0.4" }, "peerDependencies": { "@types/react": "^18.2.6", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac" + "react-native": "0.77.0-nightly-20241001-223e98cc4" }, "beachball": { "defaultNpmTag": "canary", diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js index 3e519526096..66f0e06f75f 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js @@ -5,8 +5,10 @@ * LICENSE file in the root directory of this source tree. * * @format + * @flow strict-local */ 'use strict'; -module.exports = require('../UnimplementedViews/UnimplementedView'); +module.exports = + require('../UnimplementedViews/UnimplementedView') as $FlowFixMe; diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/Touchable.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/Touchable.win32.js index 24f417fe3f8..bc1d76b8777 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/Touchable.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/Components/Touchable/Touchable.win32.js @@ -718,13 +718,17 @@ const TouchableMixin = { return; } this.state.touchable.positionOnActivate && + // $FlowFixMe[prop-missing] Position.release(this.state.touchable.positionOnActivate); this.state.touchable.dimensionsOnActivate && + // $FlowFixMe[prop-missing] BoundingDimensions.release(this.state.touchable.dimensionsOnActivate); + // $FlowFixMe[prop-missing] this.state.touchable.positionOnActivate = Position.getPooled( globalX, globalY, ); + // $FlowFixMe[prop-missing] this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled( w, h, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/NativeComponent/BaseViewConfig.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/NativeComponent/BaseViewConfig.win32.js index a9c5a4b179e..807a4882263 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/NativeComponent/BaseViewConfig.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/NativeComponent/BaseViewConfig.win32.js @@ -228,7 +228,7 @@ const validAttributesForNonEventProps = { boxShadow: { process: require('../StyleSheet/processBoxShadow').default, }, - experimental_mixBlendMode: true, + mixBlendMode: true, isolation: true, borderTopWidth: true, diff --git a/packages/@office-iss/react-native-win32/src-win/index.win32.js b/packages/@office-iss/react-native-win32/src-win/index.win32.js index 496d56fad88..57190433431 100644 --- a/packages/@office-iss/react-native-win32/src-win/index.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/index.win32.js @@ -85,6 +85,7 @@ import typeof UTFSequence from './Libraries/UTFSequence'; import typeof * as Appearance from './Libraries/Utilities/Appearance'; import typeof BackHandler from './Libraries/Utilities/BackHandler'; import typeof DeviceInfo from './Libraries/Utilities/DeviceInfo'; +import typeof DevMenu from './src/private/devmenu/DevMenu'; import typeof DevSettings from './Libraries/Utilities/DevSettings'; import typeof Dimensions from './Libraries/Utilities/Dimensions'; import typeof PixelRatio from './Libraries/Utilities/PixelRatio'; @@ -240,6 +241,9 @@ module.exports = { get DeviceInfo(): DeviceInfo { return require('./Libraries/Utilities/DeviceInfo'); }, + get DevMenu(): DevMenu { + return require('./src/private/devmenu/DevMenu'); + }, get DevSettings(): DevSettings { return require('./Libraries/Utilities/DevSettings'); }, diff --git a/packages/@react-native-windows/automation-channel/package.json b/packages/@react-native-windows/automation-channel/package.json index e62ee2ceb77..b1eae48a442 100644 --- a/packages/@react-native-windows/automation-channel/package.json +++ b/packages/@react-native-windows/automation-channel/package.json @@ -31,7 +31,7 @@ "just-scripts": "^1.3.2", "prettier": "2.8.8", "react": "19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-windows": "^0.0.0-canary.871", "typescript": "5.0.4" }, diff --git a/packages/@react-native-windows/tester/overrides.json b/packages/@react-native-windows/tester/overrides.json index 7e0abfb6c37..3158780f461 100644 --- a/packages/@react-native-windows/tester/overrides.json +++ b/packages/@react-native-windows/tester/overrides.json @@ -5,7 +5,7 @@ "excludePatterns": [ "src/js/examples-win/**" ], - "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", + "baseVersion": "0.77.0-nightly-20241001-223e98cc4", "overrides": [ { "type": "derived", @@ -91,7 +91,7 @@ "type": "derived", "file": "src/js/utils/RNTesterList.windows.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js", - "baseHash": "b40cdc34295381fbd40d38ade093cc0d198edd13" + "baseHash": "a4a186470316624bcd693e7f8b67739f87e5729c" } ] } \ No newline at end of file diff --git a/packages/@react-native-windows/tester/package.json b/packages/@react-native-windows/tester/package.json index 0671f380b33..3e1f423bb98 100644 --- a/packages/@react-native-windows/tester/package.json +++ b/packages/@react-native-windows/tester/package.json @@ -19,7 +19,7 @@ "peerDependencies": { "@react-native-picker/picker": "2.4.10", "react": "18.0.0", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-windows": "^0.0.0-canary.871", "react-native-xaml": "^0.0.78" }, @@ -32,7 +32,7 @@ "@types/node": "^18.0.0", "eslint": "^8.19.0", "just-scripts": "^1.3.3", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-platform-override": "^1.9.47", "react-native-windows": "^0.0.0-canary.871", "typescript": "5.0.4" diff --git a/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js b/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js index 645d5208f97..19ce898a2ae 100644 --- a/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js +++ b/packages/@react-native-windows/tester/src/js/utils/RNTesterList.windows.js @@ -7,7 +7,7 @@ 'use strict'; -import type {RNTesterModuleInfo} from '../types/RNTesterTypes'; +import type {RNTesterModuleInfo, RNTesterModule} from '../types/RNTesterTypes'; import ReactNativeFeatureFlags from 'react-native/Libraries/ReactNative/ReactNativeFeatureFlags'; @@ -458,9 +458,16 @@ if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) { }); } -const Modules: any = {}; +const Playgrounds: Array = [ + { + key: 'PlaygroundExample', + module: require('../examples/Playground/PlaygroundExample'), + }, +]; + +const Modules: {[key: string]: RNTesterModule} = {}; -APIs.concat(Components).forEach(Example => { +[...APIs, ...Components, ...Playgrounds].forEach(Example => { Modules[Example.key] = Example.module; }); diff --git a/packages/@react-native/monorepo/overrides.json b/packages/@react-native/monorepo/overrides.json index f806797e40f..3a38334a234 100644 --- a/packages/@react-native/monorepo/overrides.json +++ b/packages/@react-native/monorepo/overrides.json @@ -1,11 +1,11 @@ { - "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", + "baseVersion": "0.77.0-nightly-20241001-223e98cc4", "overrides": [ { "type": "patch", "file": "package.json", "baseFile": "package.json", - "baseHash": "ab40e80bdf6092942567dd11861dbc9911cd95b7" + "baseHash": "1b61755d61f22eee2f822bd8709ab5ebe503b940" } ] } \ No newline at end of file diff --git a/packages/@react-native/monorepo/package.json b/packages/@react-native/monorepo/package.json index b2b1436580a..2634eda0d5a 100644 --- a/packages/@react-native/monorepo/package.json +++ b/packages/@react-native/monorepo/package.json @@ -47,8 +47,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.77.0-nightly-20240925-0cb32d5ac", - "@react-native/metro-config": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/metro-babel-transformer": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/metro-config": "0.77.0-nightly-20241001-223e98cc4", "@tsconfig/node18": "1.0.1", "@types/react": "^18.2.6", "@typescript-eslint/parser": "^7.1.1", @@ -57,7 +57,6 @@ "babel-plugin-syntax-hermes-parser": "0.23.1", "babel-plugin-transform-define": "^2.1.4", "babel-plugin-transform-flow-enums": "^0.0.2", - "babel-preset-fbjs": "^3.4.0", "chalk": "^4.0.0", "clang-format": "^1.8.0", "connect": "^3.6.5", @@ -76,7 +75,7 @@ "eslint-plugin-redundant-undefined": "^0.4.0", "eslint-plugin-relay": "^1.8.3", "flow-api-translator": "0.23.1", - "flow-bin": "^0.246.0", + "flow-bin": "^0.247.1", "glob": "^7.1.1", "hermes-eslint": "0.23.1", "hermes-transform": "0.23.1", @@ -86,6 +85,7 @@ "jscodeshift": "^0.14.0", "metro-babel-register": "^0.80.10", "metro-memory-fs": "^0.80.10", + "metro-transform-plugins": "^0.80.10", "micromatch": "^4.0.4", "node-fetch": "^2.2.0", "nullthrows": "^1.1.1", diff --git a/packages/@react-native/tester/js/RNTesterAppShared.js b/packages/@react-native/tester/js/RNTesterAppShared.js index 336fc9d9839..a40cbc8c237 100644 --- a/packages/@react-native/tester/js/RNTesterAppShared.js +++ b/packages/@react-native/tester/js/RNTesterAppShared.js @@ -8,8 +8,9 @@ * @flow */ -import type {RNTesterModuleInfo} from './types/RNTesterTypes'; +import type {RNTesterModuleInfo, ScreenTypes} from './types/RNTesterTypes'; +import {title as PlaygroundTitle} from './examples/Playground/PlaygroundExample'; import RNTesterModuleContainer from './components/RNTesterModuleContainer'; import RNTesterModuleList from './components/RNTesterModuleList'; import RNTesterNavBar, {navBarHeight} from './components/RNTesterNavbar'; @@ -127,11 +128,22 @@ const RNTesterApp = ({ ); const handleNavBarPress = React.useCallback( - (args: {screen: string}) => { - dispatch({ - type: RNTesterNavigationActionsType.NAVBAR_PRESS, - data: {screen: args.screen}, - }); + (args: {screen: ScreenTypes}) => { + if (args.screen === 'playgrounds') { + dispatch({ + type: RNTesterNavigationActionsType.NAVBAR_OPEN_MODULE_PRESS, + data: { + key: 'PlaygroundExample', + title: PlaygroundTitle, + screen: args.screen, + }, + }); + } else { + dispatch({ + type: RNTesterNavigationActionsType.NAVBAR_PRESS, + data: {screen: args.screen}, + }); + } }, [dispatch], ); diff --git a/packages/@react-native/tester/js/utils/RNTesterList.android.js b/packages/@react-native/tester/js/utils/RNTesterList.android.js index 1255a790266..d18ba489cf9 100644 --- a/packages/@react-native/tester/js/utils/RNTesterList.android.js +++ b/packages/@react-native/tester/js/utils/RNTesterList.android.js @@ -10,7 +10,7 @@ 'use strict'; -import type {RNTesterModuleInfo} from '../types/RNTesterTypes'; +import type {RNTesterModuleInfo, RNTesterModule} from '../types/RNTesterTypes'; import ReactNativeFeatureFlags from 'react-native/Libraries/ReactNative/ReactNativeFeatureFlags'; @@ -367,9 +367,16 @@ if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) { }); } -const Modules: any = {}; +const Playgrounds: Array = [ + { + key: 'PlaygroundExample', + module: require('../examples/Playground/PlaygroundExample'), + }, +]; + +const Modules: {[key: string]: RNTesterModule} = {}; -APIs.concat(Components).forEach(Example => { +[...APIs, ...Components, ...Playgrounds].forEach(Example => { Modules[Example.key] = Example.module; }); diff --git a/packages/@react-native/tester/js/utils/RNTesterList.ios.js b/packages/@react-native/tester/js/utils/RNTesterList.ios.js index 26de3590131..056e06c0da4 100644 --- a/packages/@react-native/tester/js/utils/RNTesterList.ios.js +++ b/packages/@react-native/tester/js/utils/RNTesterList.ios.js @@ -10,7 +10,7 @@ 'use strict'; -import type {RNTesterModuleInfo} from '../types/RNTesterTypes'; +import type {RNTesterModuleInfo, RNTesterModule} from '../types/RNTesterTypes'; import ReactNativeFeatureFlags from 'react-native/Libraries/ReactNative/ReactNativeFeatureFlags'; @@ -347,10 +347,16 @@ if (ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()) { }); } -const Modules: {...} = {}; +const Playgrounds: Array = [ + { + key: 'PlaygroundExample', + module: require('../examples/Playground/PlaygroundExample'), + }, +]; + +const Modules: {[key: string]: RNTesterModule} = {}; -APIs.concat(Components).forEach(Example => { - // $FlowFixMe[prop-missing] +[...APIs, ...Components, ...Playgrounds].forEach(Example => { Modules[Example.key] = Example.module; }); diff --git a/packages/@react-native/tester/js/utils/RNTesterList.js.flow b/packages/@react-native/tester/js/utils/RNTesterList.js.flow index 70d7ed59fac..1beaa5559b0 100644 --- a/packages/@react-native/tester/js/utils/RNTesterList.js.flow +++ b/packages/@react-native/tester/js/utils/RNTesterList.js.flow @@ -10,10 +10,10 @@ 'use strict'; -import type {RNTesterModuleInfo} from '../types/RNTesterTypes'; +import type {RNTesterModuleInfo, RNTesterModule} from '../types/RNTesterTypes'; declare const APIs: Array; declare const Components: Array; -declare const Modules: {...}; +declare const Modules: {[key: string]: RNTesterModule}; module.exports = {APIs, Components, Modules}; diff --git a/packages/@react-native/tester/js/utils/RNTesterNavigationReducer.js b/packages/@react-native/tester/js/utils/RNTesterNavigationReducer.js index 4f0f5c335c0..637ad0dd552 100644 --- a/packages/@react-native/tester/js/utils/RNTesterNavigationReducer.js +++ b/packages/@react-native/tester/js/utils/RNTesterNavigationReducer.js @@ -19,6 +19,7 @@ export const RNTesterNavigationActionsType = { MODULE_CARD_PRESS: 'MODULE_CARD_PRESS', EXAMPLE_CARD_PRESS: 'EXAMPLE_CARD_PRESS', EXAMPLE_OPEN_URL_REQUEST: 'EXAMPLE_OPEN_URL_REQUEST', + NAVBAR_OPEN_MODULE_PRESS: 'NAVBAR_OPEN_MODULE_PRESS', }; const getUpdatedRecentlyUsed = ({ @@ -77,6 +78,16 @@ export const RNTesterNavigationReducer = ( hadDeepLink: false, }; + case RNTesterNavigationActionsType.NAVBAR_OPEN_MODULE_PRESS: + return { + ...state, + activeModuleKey: key, + activeModuleTitle: title, + activeModuleExampleKey: null, + screen, + hadDeepLink: true, + }; + case RNTesterNavigationActionsType.MODULE_CARD_PRESS: return { ...state, @@ -99,7 +110,6 @@ export const RNTesterNavigationReducer = ( case RNTesterNavigationActionsType.BACK_BUTTON_PRESS: // Go back to module or list. - // If there was a deeplink navigation, pressing Back should bring us back to the root. return { ...state, activeModuleExampleKey: null, @@ -112,6 +122,8 @@ export const RNTesterNavigationReducer = ( ? state.activeModuleTitle : null, hadDeepLink: false, + // If there was a deeplink navigation, pressing Back should bring us back to the root. + screen: state.hadDeepLink ? 'components' : state.screen, }; case RNTesterNavigationActionsType.EXAMPLE_OPEN_URL_REQUEST: @@ -121,6 +133,7 @@ export const RNTesterNavigationReducer = ( activeModuleTitle: title, activeModuleExampleKey: exampleKey, hadDeepLink: true, + screen: 'components', }; default: diff --git a/packages/@react-native/tester/js/utils/testerStateUtils.js b/packages/@react-native/tester/js/utils/testerStateUtils.js index 596af29acfe..df8137bc58e 100644 --- a/packages/@react-native/tester/js/utils/testerStateUtils.js +++ b/packages/@react-native/tester/js/utils/testerStateUtils.js @@ -21,6 +21,7 @@ import RNTesterList from './RNTesterList'; export const Screens = { COMPONENTS: 'components', APIS: 'apis', + PLAYGROUNDS: 'playgrounds', }; export const initialNavigationState: RNTesterNavigationState = { diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json index d30eba65d32..fa03e09168f 100644 --- a/packages/@react-native/tester/overrides.json +++ b/packages/@react-native/tester/overrides.json @@ -1,24 +1,25 @@ { - "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", + "baseVersion": "0.77.0-nightly-20241001-223e98cc4", "overrides": [ { "type": "copy", "directory": "js/assets", "baseDirectory": "packages/rn-tester/js/assets", - "baseHash": "3954798e183a6a0c617006accae280058fe17cc0", + "baseHash": "0231cc3333fc491c6530739c43f7837c7cff7aeb", "issue": 4054 }, { "type": "copy", "directory": "js/components", "baseDirectory": "packages/rn-tester/js/components", - "baseHash": "c3668e7f1197c559d18ff6cb16078f53636ddc29", + "baseHash": "8d837becbbb8ef21afef3533a8f8b0a2c0f8fab1", "issue": 4054 }, { "type": "copy", "directory": "js/examples/Accessibility", "baseDirectory": "packages/rn-tester/js/examples/Accessibility", + "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "baseHash": "8679456302662e4ce453c6bb41740a8739d3b5f0", "issue": 4054 }, @@ -124,7 +125,7 @@ "type": "copy", "directory": "js/examples/Experimental", "baseDirectory": "packages/rn-tester/js/examples/Experimental", - "baseHash": "9ea6f20b9ff5c97433b40acfc6986d2136385cb9", + "baseHash": "42ede921918c1af679048a0b7f6d575db40c1008", "issue": 4054 }, { @@ -208,6 +209,7 @@ "type": "copy", "directory": "js/examples/Modal", "baseDirectory": "packages/rn-tester/js/examples/Modal", + "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "baseHash": "e4cbd489c88782d6d22aa7cbd404bf4e522b480c", "issue": 4054 }, @@ -257,7 +259,7 @@ "type": "copy", "directory": "js/examples/Performance", "baseDirectory": "packages/rn-tester/js/examples/Performance", - "baseHash": "4791deacfc17c1b7c2ff8a8360ef9b8eaa4ebd01", + "baseHash": "137f30e3d9a29dc4f0076d8e479b8daffdb79f08", "issue": 0 }, { @@ -488,49 +490,49 @@ "type": "copy", "file": "js/RNTesterAppShared.js", "baseFile": "packages/rn-tester/js/RNTesterAppShared.js", - "baseHash": "c223f5c49318864f20db4f9eaaeaadd011709dc2", + "baseHash": "35879ef481ba3effb60335603c75431881815e5a", "issue": 4054 }, { "type": "copy", "directory": "js/types", "baseDirectory": "packages/rn-tester/js/types", - "baseHash": "789c5ff543590fece7ea04ed41d6818f5dbe15d2", + "baseHash": "58bc903a52118f55221b2bd1dd6692b47e79d7b3", "issue": 4054 }, { "type": "patch", "file": "js/utils/RNTesterList.android.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js", - "baseHash": "b40cdc34295381fbd40d38ade093cc0d198edd13", + "baseHash": "a4a186470316624bcd693e7f8b67739f87e5729c", "issue": 13228 }, { "type": "patch", "file": "js/utils/RNTesterList.ios.js", "baseFile": "packages/rn-tester/js/utils/RNTesterList.ios.js", - "baseHash": "daf237a083cd8489ef43b7e4f33cfdcaeb547a6e", + "baseHash": "b9ccfa9c1cfa826b64b4de56e373f1d8b9a6856b", "issue": 13228 }, { "type": "copy", "file": "js/utils/RNTesterList.js.flow", "baseFile": "packages/rn-tester/js/utils/RNTesterList.js.flow", - "baseHash": "15670e7e3a42f775809785937036f8e1b3aa73fb", + "baseHash": "84d6c18587c04a647cb7f0d482f0578af9cdb113", "issue": 4054 }, { "type": "copy", "file": "js/utils/RNTesterNavigationReducer.js", "baseFile": "packages/rn-tester/js/utils/RNTesterNavigationReducer.js", - "baseHash": "cbd55678b272dc752f436064c83bad186d98a4c9", + "baseHash": "1a56665b80cb979c919ece7c5725272f0464ac9e", "issue": 4054 }, { "type": "copy", "file": "js/utils/testerStateUtils.js", "baseFile": "packages/rn-tester/js/utils/testerStateUtils.js", - "baseHash": "1c633595e5c08d5fbab0ae3225b1ca54fbd190c7", + "baseHash": "7fa1afc9bd4225b55aa36135193a86138c6269a6", "issue": 4054 }, { diff --git a/packages/e2e-test-app-fabric/package.json b/packages/e2e-test-app-fabric/package.json index 68586b118b7..8d6cf52011f 100644 --- a/packages/e2e-test-app-fabric/package.json +++ b/packages/e2e-test-app-fabric/package.json @@ -20,7 +20,7 @@ "@typescript-eslint/eslint-plugin": "^5.21.0", "@typescript-eslint/parser": "^5.21.0", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/packages/e2e-test-app/package.json b/packages/e2e-test-app/package.json index 83bf093e0a5..d29a4153b4b 100644 --- a/packages/e2e-test-app/package.json +++ b/packages/e2e-test-app/package.json @@ -20,7 +20,7 @@ "@typescript-eslint/eslint-plugin": "^5.21.0", "@typescript-eslint/parser": "^5.21.0", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-windows": "^0.0.0-canary.871", "react-native-xaml": "^0.0.78" }, diff --git a/packages/integration-test-app/package.json b/packages/integration-test-app/package.json index 4acbb5e261c..833ecf1fa4f 100644 --- a/packages/integration-test-app/package.json +++ b/packages/integration-test-app/package.json @@ -17,7 +17,7 @@ "@typescript-eslint/parser": "^5.21.0", "chai": "^4.2.0", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/packages/playground/package.json b/packages/playground/package.json index 0f8930b4af6..4401009b390 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -16,7 +16,7 @@ "@typescript-eslint/eslint-plugin": "^5.21.0", "@typescript-eslint/parser": "^5.21.0", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/packages/sample-app-fabric/package.json b/packages/sample-app-fabric/package.json index e27482c05f5..4fc59bc8b71 100644 --- a/packages/sample-app-fabric/package.json +++ b/packages/sample-app-fabric/package.json @@ -16,7 +16,7 @@ "@typescript-eslint/eslint-plugin": "^5.21.0", "@typescript-eslint/parser": "^5.21.0", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/packages/sample-apps/package.json b/packages/sample-apps/package.json index 358ca97feba..626a13c1b54 100644 --- a/packages/sample-apps/package.json +++ b/packages/sample-apps/package.json @@ -16,7 +16,7 @@ "@typescript-eslint/eslint-plugin": "^5.30.5", "@typescript-eslint/parser": "^5.57.1", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/packages/sample-custom-component/package.json b/packages/sample-custom-component/package.json index 78c673f4112..656e32ca1e7 100644 --- a/packages/sample-custom-component/package.json +++ b/packages/sample-custom-component/package.json @@ -21,7 +21,7 @@ "dependencies": { "@types/react": "^18.2.6", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-windows": "^0.0.0-canary.871" }, "devDependencies": { diff --git a/vnext/.flowconfig b/vnext/.flowconfig index 6471deaf7da..80cd3de9256 100644 --- a/vnext/.flowconfig +++ b/vnext/.flowconfig @@ -154,4 +154,4 @@ untyped-import untyped-type-import [version] -^0.246.0 +^0.247.1 diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp index 890a3f4271f..37c8baad066 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp @@ -137,7 +137,7 @@ ReactInstance::ReactInstance( PerformanceEntryReporter::getInstance().get()); bufferedRuntimeExecutor_ = std::make_shared( - [runtimeScheduler = runtimeScheduler_]( + [runtimeScheduler = runtimeScheduler_.get()]( std::function&& callback) { runtimeScheduler->scheduleWork(std::move(callback)); }); @@ -156,7 +156,7 @@ void ReactInstance::unregisterFromInspector() { } RuntimeExecutor ReactInstance::getUnbufferedRuntimeExecutor() noexcept { - return [runtimeScheduler = runtimeScheduler_]( + return [runtimeScheduler = runtimeScheduler_.get()]( std::function&& callback) { runtimeScheduler->scheduleWork(std::move(callback)); }; @@ -167,14 +167,12 @@ RuntimeExecutor ReactInstance::getUnbufferedRuntimeExecutor() noexcept { // getUnbufferedRuntimeExecutor() instead if you do not need the main JS bundle // to have finished. e.g. setting global variables into JS runtime. RuntimeExecutor ReactInstance::getBufferedRuntimeExecutor() noexcept { - // FIXME: we don't really need a weak reference here, bufferedRuntimeExecutor - // retains a strong reference to runtimeScheduler, which in turns retains weak - // references to the runtime - return [weakBufferedRuntimeExecutor = + return [weakBufferedRuntimeExecutor_ = std::weak_ptr(bufferedRuntimeExecutor_)]( std::function&& callback) { - if (auto bufferedRuntimeExecutor = weakBufferedRuntimeExecutor.lock()) { - bufferedRuntimeExecutor->execute(std::move(callback)); + if (auto strongBufferedRuntimeExecutor_ = + weakBufferedRuntimeExecutor_.lock()) { + strongBufferedRuntimeExecutor_->execute(std::move(callback)); } }; } @@ -211,8 +209,12 @@ void ReactInstance::loadScript( std::string scriptName = simpleBasename(sourceURL); runtimeScheduler_->scheduleWork( - [this, scriptName, sourceURL, buffer = std::move(buffer)]( - jsi::Runtime& runtime) { + [this, + scriptName, + sourceURL, + buffer = std::move(buffer), + weakBufferedRuntimeExecuter = std::weak_ptr( + bufferedRuntimeExecutor_)](jsi::Runtime& runtime) { SystraceSection s("ReactInstance::loadScript"); bool hasLogger(ReactMarker::logTaggedMarkerBridgelessImpl); if (hasLogger) { @@ -238,8 +240,10 @@ void ReactInstance::loadScript( ReactMarker::INIT_REACT_RUNTIME_STOP); ReactMarker::logMarkerBridgeless(ReactMarker::APP_STARTUP_STOP); } - - bufferedRuntimeExecutor_->flush(); + if (auto strongBufferedRuntimeExecuter = + weakBufferedRuntimeExecuter.lock()) { + strongBufferedRuntimeExecuter->flush(); + } }); } diff --git a/vnext/codegen/NativeDevToolsSettingsManagerSpec.g.h b/vnext/codegen/NativeDevToolsSettingsManagerSpec.g.h deleted file mode 100644 index bd96ca414a2..00000000000 --- a/vnext/codegen/NativeDevToolsSettingsManagerSpec.g.h +++ /dev/null @@ -1,52 +0,0 @@ - -/* - * This file is auto-generated from a NativeModule spec file in js. - * - * This is a C++ Spec class that should be used with MakeTurboModuleProvider to register native modules - * in a way that also verifies at compile time that the native module matches the interface required - * by the TurboModule JS spec. - */ -#pragma once - -#include -#include - -namespace Microsoft::ReactNativeSpecs { - - -struct DevToolsSettingsManagerSpec : winrt::Microsoft::ReactNative::TurboModuleSpec { - static constexpr auto methods = std::tuple{ - Method{0, L"setConsolePatchSettings"}, - SyncMethod() noexcept>{1, L"getConsolePatchSettings"}, - Method{2, L"setProfilingSettings"}, - SyncMethod() noexcept>{3, L"getProfilingSettings"}, - }; - - template - static constexpr void ValidateModule() noexcept { - constexpr auto methodCheckResults = CheckMethods(); - - REACT_SHOW_METHOD_SPEC_ERRORS( - 0, - "setConsolePatchSettings", - " REACT_METHOD(setConsolePatchSettings) void setConsolePatchSettings(std::string newConsolePatchSettings) noexcept { /* implementation */ }\n" - " REACT_METHOD(setConsolePatchSettings) static void setConsolePatchSettings(std::string newConsolePatchSettings) noexcept { /* implementation */ }\n"); - REACT_SHOW_METHOD_SPEC_ERRORS( - 1, - "getConsolePatchSettings", - " REACT_SYNC_METHOD(getConsolePatchSettings) std::optional getConsolePatchSettings() noexcept { /* implementation */ }\n" - " REACT_SYNC_METHOD(getConsolePatchSettings) static std::optional getConsolePatchSettings() noexcept { /* implementation */ }\n"); - REACT_SHOW_METHOD_SPEC_ERRORS( - 2, - "setProfilingSettings", - " REACT_METHOD(setProfilingSettings) void setProfilingSettings(std::string newProfilingSettings) noexcept { /* implementation */ }\n" - " REACT_METHOD(setProfilingSettings) static void setProfilingSettings(std::string newProfilingSettings) noexcept { /* implementation */ }\n"); - REACT_SHOW_METHOD_SPEC_ERRORS( - 3, - "getProfilingSettings", - " REACT_SYNC_METHOD(getProfilingSettings) std::optional getProfilingSettings() noexcept { /* implementation */ }\n" - " REACT_SYNC_METHOD(getProfilingSettings) static std::optional getProfilingSettings() noexcept { /* implementation */ }\n"); - } -}; - -} // namespace Microsoft::ReactNativeSpecs diff --git a/vnext/codegen/NativePerformanceObserverSpec.g.h b/vnext/codegen/NativePerformanceObserverSpec.g.h index af070ff45ea..6a5c20db639 100644 --- a/vnext/codegen/NativePerformanceObserverSpec.g.h +++ b/vnext/codegen/NativePerformanceObserverSpec.g.h @@ -13,6 +13,13 @@ namespace Microsoft::ReactNativeSpecs { +struct PerformanceObserverSpec_PerformanceObserverInit { + std::optional> entryTypes; + std::optional type; + std::optional buffered; + std::optional durationThreshold; +}; + struct PerformanceObserverSpec_RawPerformanceEntry { std::string name; double entryType; @@ -23,11 +30,16 @@ struct PerformanceObserverSpec_RawPerformanceEntry { std::optional interactionId; }; -struct PerformanceObserverSpec_GetPendingEntriesResult { - std::vector entries; - double droppedEntriesCount; -}; +inline winrt::Microsoft::ReactNative::FieldMap GetStructInfo(PerformanceObserverSpec_PerformanceObserverInit*) noexcept { + winrt::Microsoft::ReactNative::FieldMap fieldMap { + {L"entryTypes", &PerformanceObserverSpec_PerformanceObserverInit::entryTypes}, + {L"type", &PerformanceObserverSpec_PerformanceObserverInit::type}, + {L"buffered", &PerformanceObserverSpec_PerformanceObserverInit::buffered}, + {L"durationThreshold", &PerformanceObserverSpec_PerformanceObserverInit::durationThreshold}, + }; + return fieldMap; +} inline winrt::Microsoft::ReactNative::FieldMap GetStructInfo(PerformanceObserverSpec_RawPerformanceEntry*) noexcept { winrt::Microsoft::ReactNative::FieldMap fieldMap { @@ -42,27 +54,17 @@ inline winrt::Microsoft::ReactNative::FieldMap GetStructInfo(PerformanceObserver return fieldMap; } -inline winrt::Microsoft::ReactNative::FieldMap GetStructInfo(PerformanceObserverSpec_GetPendingEntriesResult*) noexcept { - winrt::Microsoft::ReactNative::FieldMap fieldMap { - {L"entries", &PerformanceObserverSpec_GetPendingEntriesResult::entries}, - {L"droppedEntriesCount", &PerformanceObserverSpec_GetPendingEntriesResult::droppedEntriesCount}, - }; - return fieldMap; -} - struct PerformanceObserverSpec : winrt::Microsoft::ReactNative::TurboModuleSpec { static constexpr auto methods = std::tuple{ - Method{0, L"startReporting"}, - Method{1, L"stopReporting"}, - Method, bool) noexcept>{2, L"setIsBuffered"}, - SyncMethod{3, L"popPendingEntries"}, - Method) noexcept>{4, L"setOnPerformanceEntryCallback"}, - Method{5, L"logRawEntry"}, - SyncMethod<::React::JSValueArray() noexcept>{6, L"getEventCounts"}, - Method{7, L"setDurationThreshold"}, - Method{8, L"clearEntries"}, - SyncMethod(double, std::string) noexcept>{9, L"getEntries"}, - SyncMethod() noexcept>{10, L"getSupportedPerformanceEntryTypes"}, + SyncMethod<::React::JSValueArray() noexcept>{0, L"getEventCounts"}, + SyncMethod<(Callback<>) noexcept>{1, L"createObserver"}, + SyncMethod{2, L"getDroppedEntriesCount"}, + Method{3, L"observe"}, + Method{4, L"disconnect"}, + SyncMethod(, bool) noexcept>{5, L"takeRecords"}, + Method{6, L"clearEntries"}, + SyncMethod(double, std::string) noexcept>{7, L"getEntries"}, + SyncMethod() noexcept>{8, L"getSupportedPerformanceEntryTypes"}, }; template @@ -71,56 +73,46 @@ struct PerformanceObserverSpec : winrt::Microsoft::ReactNative::TurboModuleSpec REACT_SHOW_METHOD_SPEC_ERRORS( 0, - "startReporting", - " REACT_METHOD(startReporting) void startReporting(double entryType) noexcept { /* implementation */ }\n" - " REACT_METHOD(startReporting) static void startReporting(double entryType) noexcept { /* implementation */ }\n"); + "getEventCounts", + " REACT_SYNC_METHOD(getEventCounts) ::React::JSValueArray getEventCounts() noexcept { /* implementation */ }\n" + " REACT_SYNC_METHOD(getEventCounts) static ::React::JSValueArray getEventCounts() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 1, - "stopReporting", - " REACT_METHOD(stopReporting) void stopReporting(double entryType) noexcept { /* implementation */ }\n" - " REACT_METHOD(stopReporting) static void stopReporting(double entryType) noexcept { /* implementation */ }\n"); + "createObserver", + " REACT_SYNC_METHOD(createObserver) createObserver(std::function const & callback) noexcept { /* implementation */ }\n" + " REACT_SYNC_METHOD(createObserver) static createObserver(std::function const & callback) noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 2, - "setIsBuffered", - " REACT_METHOD(setIsBuffered) void setIsBuffered(std::vector const & entryTypes, bool isBuffered) noexcept { /* implementation */ }\n" - " REACT_METHOD(setIsBuffered) static void setIsBuffered(std::vector const & entryTypes, bool isBuffered) noexcept { /* implementation */ }\n"); + "getDroppedEntriesCount", + " REACT_SYNC_METHOD(getDroppedEntriesCount) double getDroppedEntriesCount( observer) noexcept { /* implementation */ }\n" + " REACT_SYNC_METHOD(getDroppedEntriesCount) static double getDroppedEntriesCount( observer) noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 3, - "popPendingEntries", - " REACT_SYNC_METHOD(popPendingEntries) PerformanceObserverSpec_GetPendingEntriesResult popPendingEntries() noexcept { /* implementation */ }\n" - " REACT_SYNC_METHOD(popPendingEntries) static PerformanceObserverSpec_GetPendingEntriesResult popPendingEntries() noexcept { /* implementation */ }\n"); + "observe", + " REACT_METHOD(observe) void observe( observer, PerformanceObserverSpec_PerformanceObserverInit && options) noexcept { /* implementation */ }\n" + " REACT_METHOD(observe) static void observe( observer, PerformanceObserverSpec_PerformanceObserverInit && options) noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 4, - "setOnPerformanceEntryCallback", - " REACT_METHOD(setOnPerformanceEntryCallback) void setOnPerformanceEntryCallback(std::function const & callback) noexcept { /* implementation */ }\n" - " REACT_METHOD(setOnPerformanceEntryCallback) static void setOnPerformanceEntryCallback(std::function const & callback) noexcept { /* implementation */ }\n"); + "disconnect", + " REACT_METHOD(disconnect) void disconnect( observer) noexcept { /* implementation */ }\n" + " REACT_METHOD(disconnect) static void disconnect( observer) noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 5, - "logRawEntry", - " REACT_METHOD(logRawEntry) void logRawEntry(PerformanceObserverSpec_RawPerformanceEntry && entry) noexcept { /* implementation */ }\n" - " REACT_METHOD(logRawEntry) static void logRawEntry(PerformanceObserverSpec_RawPerformanceEntry && entry) noexcept { /* implementation */ }\n"); + "takeRecords", + " REACT_SYNC_METHOD(takeRecords) std::vector takeRecords( observer, bool sort) noexcept { /* implementation */ }\n" + " REACT_SYNC_METHOD(takeRecords) static std::vector takeRecords( observer, bool sort) noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 6, - "getEventCounts", - " REACT_SYNC_METHOD(getEventCounts) ::React::JSValueArray getEventCounts() noexcept { /* implementation */ }\n" - " REACT_SYNC_METHOD(getEventCounts) static ::React::JSValueArray getEventCounts() noexcept { /* implementation */ }\n"); - REACT_SHOW_METHOD_SPEC_ERRORS( - 7, - "setDurationThreshold", - " REACT_METHOD(setDurationThreshold) void setDurationThreshold(double entryType, double durationThreshold) noexcept { /* implementation */ }\n" - " REACT_METHOD(setDurationThreshold) static void setDurationThreshold(double entryType, double durationThreshold) noexcept { /* implementation */ }\n"); - REACT_SHOW_METHOD_SPEC_ERRORS( - 8, "clearEntries", " REACT_METHOD(clearEntries) void clearEntries(double entryType, std::string entryName) noexcept { /* implementation */ }\n" " REACT_METHOD(clearEntries) static void clearEntries(double entryType, std::string entryName) noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 9, + 7, "getEntries", " REACT_SYNC_METHOD(getEntries) std::vector getEntries(double entryType, std::string entryName) noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(getEntries) static std::vector getEntries(double entryType, std::string entryName) noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 10, + 8, "getSupportedPerformanceEntryTypes", " REACT_SYNC_METHOD(getSupportedPerformanceEntryTypes) std::vector getSupportedPerformanceEntryTypes() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(getSupportedPerformanceEntryTypes) static std::vector getSupportedPerformanceEntryTypes() noexcept { /* implementation */ }\n"); diff --git a/vnext/codegen/NativeReactDevToolsSettingsManagerSpec.g.h b/vnext/codegen/NativeReactDevToolsSettingsManagerSpec.g.h new file mode 100644 index 00000000000..428ce90cc2d --- /dev/null +++ b/vnext/codegen/NativeReactDevToolsSettingsManagerSpec.g.h @@ -0,0 +1,40 @@ + +/* + * This file is auto-generated from a NativeModule spec file in js. + * + * This is a C++ Spec class that should be used with MakeTurboModuleProvider to register native modules + * in a way that also verifies at compile time that the native module matches the interface required + * by the TurboModule JS spec. + */ +#pragma once + +#include +#include + +namespace Microsoft::ReactNativeSpecs { + + +struct ReactDevToolsSettingsManagerSpec : winrt::Microsoft::ReactNative::TurboModuleSpec { + static constexpr auto methods = std::tuple{ + Method{0, L"setGlobalHookSettings"}, + SyncMethod() noexcept>{1, L"getGlobalHookSettings"}, + }; + + template + static constexpr void ValidateModule() noexcept { + constexpr auto methodCheckResults = CheckMethods(); + + REACT_SHOW_METHOD_SPEC_ERRORS( + 0, + "setGlobalHookSettings", + " REACT_METHOD(setGlobalHookSettings) void setGlobalHookSettings(std::string settings) noexcept { /* implementation */ }\n" + " REACT_METHOD(setGlobalHookSettings) static void setGlobalHookSettings(std::string settings) noexcept { /* implementation */ }\n"); + REACT_SHOW_METHOD_SPEC_ERRORS( + 1, + "getGlobalHookSettings", + " REACT_SYNC_METHOD(getGlobalHookSettings) std::optional getGlobalHookSettings() noexcept { /* implementation */ }\n" + " REACT_SYNC_METHOD(getGlobalHookSettings) static std::optional getGlobalHookSettings() noexcept { /* implementation */ }\n"); + } +}; + +} // namespace Microsoft::ReactNativeSpecs diff --git a/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h b/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h index dc56cf10d61..693abe85f8a 100644 --- a/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h +++ b/vnext/codegen/NativeReactNativeFeatureFlagsSpec.g.h @@ -23,50 +23,51 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS SyncMethod{4, L"destroyFabricSurfacesInReactInstanceManager"}, SyncMethod{5, L"enableAlignItemsBaselineOnFabricIOS"}, SyncMethod{6, L"enableAndroidLineHeightCentering"}, - SyncMethod{7, L"enableAndroidMixBlendModeProp"}, - SyncMethod{8, L"enableBackgroundStyleApplicator"}, + SyncMethod{7, L"enableBackgroundStyleApplicator"}, + SyncMethod{8, L"enableBridgelessArchitecture"}, SyncMethod{9, L"enableCleanTextInputYogaNode"}, SyncMethod{10, L"enableDeletionOfUnmountedViews"}, SyncMethod{11, L"enableEagerRootViewAttachment"}, SyncMethod{12, L"enableEventEmitterRetentionDuringGesturesOnAndroid"}, SyncMethod{13, L"enableFabricLogs"}, - SyncMethod{14, L"enableFabricRendererExclusively"}, - SyncMethod{15, L"enableGranularShadowTreeStateReconciliation"}, - SyncMethod{16, L"enableIOSViewClipToPaddingBox"}, - SyncMethod{17, L"enableLayoutAnimationsOnIOS"}, - SyncMethod{18, L"enableLongTaskAPI"}, - SyncMethod{19, L"enableMicrotasks"}, - SyncMethod{20, L"enablePreciseSchedulingForPremountItemsOnAndroid"}, - SyncMethod{21, L"enablePropsUpdateReconciliationAndroid"}, - SyncMethod{22, L"enableReportEventPaintTime"}, - SyncMethod{23, L"enableSynchronousStateUpdates"}, - SyncMethod{24, L"enableTextPreallocationOptimisation"}, - SyncMethod{25, L"enableUIConsistency"}, - SyncMethod{26, L"enableViewRecycling"}, - SyncMethod{27, L"excludeYogaFromRawProps"}, - SyncMethod{28, L"fetchImagesInViewPreallocation"}, - SyncMethod{29, L"fixMappingOfEventPrioritiesBetweenFabricAndReact"}, - SyncMethod{30, L"fixMountingCoordinatorReportedPendingTransactionsOnAndroid"}, - SyncMethod{31, L"forceBatchingMountItemsOnAndroid"}, - SyncMethod{32, L"fuseboxEnabledDebug"}, - SyncMethod{33, L"fuseboxEnabledRelease"}, - SyncMethod{34, L"initEagerTurboModulesOnNativeModulesQueueAndroid"}, - SyncMethod{35, L"lazyAnimationCallbacks"}, - SyncMethod{36, L"loadVectorDrawablesOnImages"}, - SyncMethod{37, L"removeNestedCallsToDispatchMountItemsOnAndroid"}, - SyncMethod{38, L"setAndroidLayoutDirection"}, - SyncMethod{39, L"traceTurboModulePromiseRejectionsOnAndroid"}, - SyncMethod{40, L"useFabricInterop"}, - SyncMethod{41, L"useImmediateExecutorInAndroidBridgeless"}, - SyncMethod{42, L"useModernRuntimeScheduler"}, - SyncMethod{43, L"useNativeViewConfigsInBridgelessMode"}, - SyncMethod{44, L"useNewReactImageViewBackgroundDrawing"}, - SyncMethod{45, L"useOptimisedViewPreallocationOnAndroid"}, - SyncMethod{46, L"useOptimizedEventBatchingOnAndroid"}, - SyncMethod{47, L"useRuntimeShadowNodeReferenceUpdate"}, - SyncMethod{48, L"useRuntimeShadowNodeReferenceUpdateOnLayout"}, - SyncMethod{49, L"useStateAlignmentMechanism"}, + SyncMethod{14, L"enableFabricRenderer"}, + SyncMethod{15, L"enableFabricRendererExclusively"}, + SyncMethod{16, L"enableGranularShadowTreeStateReconciliation"}, + SyncMethod{17, L"enableIOSViewClipToPaddingBox"}, + SyncMethod{18, L"enableLayoutAnimationsOnIOS"}, + SyncMethod{19, L"enableLongTaskAPI"}, + SyncMethod{20, L"enableMicrotasks"}, + SyncMethod{21, L"enablePreciseSchedulingForPremountItemsOnAndroid"}, + SyncMethod{22, L"enablePropsUpdateReconciliationAndroid"}, + SyncMethod{23, L"enableReportEventPaintTime"}, + SyncMethod{24, L"enableSynchronousStateUpdates"}, + SyncMethod{25, L"enableTextPreallocationOptimisation"}, + SyncMethod{26, L"enableUIConsistency"}, + SyncMethod{27, L"enableViewRecycling"}, + SyncMethod{28, L"excludeYogaFromRawProps"}, + SyncMethod{29, L"fetchImagesInViewPreallocation"}, + SyncMethod{30, L"fixMappingOfEventPrioritiesBetweenFabricAndReact"}, + SyncMethod{31, L"fixMountingCoordinatorReportedPendingTransactionsOnAndroid"}, + SyncMethod{32, L"forceBatchingMountItemsOnAndroid"}, + SyncMethod{33, L"fuseboxEnabledDebug"}, + SyncMethod{34, L"fuseboxEnabledRelease"}, + SyncMethod{35, L"initEagerTurboModulesOnNativeModulesQueueAndroid"}, + SyncMethod{36, L"lazyAnimationCallbacks"}, + SyncMethod{37, L"loadVectorDrawablesOnImages"}, + SyncMethod{38, L"removeNestedCallsToDispatchMountItemsOnAndroid"}, + SyncMethod{39, L"setAndroidLayoutDirection"}, + SyncMethod{40, L"traceTurboModulePromiseRejectionsOnAndroid"}, + SyncMethod{41, L"useFabricInterop"}, + SyncMethod{42, L"useImmediateExecutorInAndroidBridgeless"}, + SyncMethod{43, L"useModernRuntimeScheduler"}, + SyncMethod{44, L"useNativeViewConfigsInBridgelessMode"}, + SyncMethod{45, L"useNewReactImageViewBackgroundDrawing"}, + SyncMethod{46, L"useOptimisedViewPreallocationOnAndroid"}, + SyncMethod{47, L"useOptimizedEventBatchingOnAndroid"}, + SyncMethod{48, L"useRuntimeShadowNodeReferenceUpdate"}, + SyncMethod{49, L"useRuntimeShadowNodeReferenceUpdateOnLayout"}, SyncMethod{50, L"useTurboModuleInterop"}, + SyncMethod{51, L"useTurboModules"}, }; template @@ -110,14 +111,14 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS " REACT_SYNC_METHOD(enableAndroidLineHeightCentering) static bool enableAndroidLineHeightCentering() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 7, - "enableAndroidMixBlendModeProp", - " REACT_SYNC_METHOD(enableAndroidMixBlendModeProp) bool enableAndroidMixBlendModeProp() noexcept { /* implementation */ }\n" - " REACT_SYNC_METHOD(enableAndroidMixBlendModeProp) static bool enableAndroidMixBlendModeProp() noexcept { /* implementation */ }\n"); - REACT_SHOW_METHOD_SPEC_ERRORS( - 8, "enableBackgroundStyleApplicator", " REACT_SYNC_METHOD(enableBackgroundStyleApplicator) bool enableBackgroundStyleApplicator() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableBackgroundStyleApplicator) static bool enableBackgroundStyleApplicator() noexcept { /* implementation */ }\n"); + REACT_SHOW_METHOD_SPEC_ERRORS( + 8, + "enableBridgelessArchitecture", + " REACT_SYNC_METHOD(enableBridgelessArchitecture) bool enableBridgelessArchitecture() noexcept { /* implementation */ }\n" + " REACT_SYNC_METHOD(enableBridgelessArchitecture) static bool enableBridgelessArchitecture() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 9, "enableCleanTextInputYogaNode", @@ -145,189 +146,194 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS " REACT_SYNC_METHOD(enableFabricLogs) static bool enableFabricLogs() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 14, + "enableFabricRenderer", + " REACT_SYNC_METHOD(enableFabricRenderer) bool enableFabricRenderer() noexcept { /* implementation */ }\n" + " REACT_SYNC_METHOD(enableFabricRenderer) static bool enableFabricRenderer() noexcept { /* implementation */ }\n"); + REACT_SHOW_METHOD_SPEC_ERRORS( + 15, "enableFabricRendererExclusively", " REACT_SYNC_METHOD(enableFabricRendererExclusively) bool enableFabricRendererExclusively() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableFabricRendererExclusively) static bool enableFabricRendererExclusively() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 15, + 16, "enableGranularShadowTreeStateReconciliation", " REACT_SYNC_METHOD(enableGranularShadowTreeStateReconciliation) bool enableGranularShadowTreeStateReconciliation() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableGranularShadowTreeStateReconciliation) static bool enableGranularShadowTreeStateReconciliation() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 16, + 17, "enableIOSViewClipToPaddingBox", " REACT_SYNC_METHOD(enableIOSViewClipToPaddingBox) bool enableIOSViewClipToPaddingBox() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableIOSViewClipToPaddingBox) static bool enableIOSViewClipToPaddingBox() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 17, + 18, "enableLayoutAnimationsOnIOS", " REACT_SYNC_METHOD(enableLayoutAnimationsOnIOS) bool enableLayoutAnimationsOnIOS() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableLayoutAnimationsOnIOS) static bool enableLayoutAnimationsOnIOS() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 18, + 19, "enableLongTaskAPI", " REACT_SYNC_METHOD(enableLongTaskAPI) bool enableLongTaskAPI() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableLongTaskAPI) static bool enableLongTaskAPI() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 19, + 20, "enableMicrotasks", " REACT_SYNC_METHOD(enableMicrotasks) bool enableMicrotasks() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableMicrotasks) static bool enableMicrotasks() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 20, + 21, "enablePreciseSchedulingForPremountItemsOnAndroid", " REACT_SYNC_METHOD(enablePreciseSchedulingForPremountItemsOnAndroid) bool enablePreciseSchedulingForPremountItemsOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enablePreciseSchedulingForPremountItemsOnAndroid) static bool enablePreciseSchedulingForPremountItemsOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 21, + 22, "enablePropsUpdateReconciliationAndroid", " REACT_SYNC_METHOD(enablePropsUpdateReconciliationAndroid) bool enablePropsUpdateReconciliationAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enablePropsUpdateReconciliationAndroid) static bool enablePropsUpdateReconciliationAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 22, + 23, "enableReportEventPaintTime", " REACT_SYNC_METHOD(enableReportEventPaintTime) bool enableReportEventPaintTime() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableReportEventPaintTime) static bool enableReportEventPaintTime() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 23, + 24, "enableSynchronousStateUpdates", " REACT_SYNC_METHOD(enableSynchronousStateUpdates) bool enableSynchronousStateUpdates() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableSynchronousStateUpdates) static bool enableSynchronousStateUpdates() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 24, + 25, "enableTextPreallocationOptimisation", " REACT_SYNC_METHOD(enableTextPreallocationOptimisation) bool enableTextPreallocationOptimisation() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableTextPreallocationOptimisation) static bool enableTextPreallocationOptimisation() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 25, + 26, "enableUIConsistency", " REACT_SYNC_METHOD(enableUIConsistency) bool enableUIConsistency() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableUIConsistency) static bool enableUIConsistency() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 26, + 27, "enableViewRecycling", " REACT_SYNC_METHOD(enableViewRecycling) bool enableViewRecycling() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(enableViewRecycling) static bool enableViewRecycling() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 27, + 28, "excludeYogaFromRawProps", " REACT_SYNC_METHOD(excludeYogaFromRawProps) bool excludeYogaFromRawProps() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(excludeYogaFromRawProps) static bool excludeYogaFromRawProps() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 28, + 29, "fetchImagesInViewPreallocation", " REACT_SYNC_METHOD(fetchImagesInViewPreallocation) bool fetchImagesInViewPreallocation() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(fetchImagesInViewPreallocation) static bool fetchImagesInViewPreallocation() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 29, + 30, "fixMappingOfEventPrioritiesBetweenFabricAndReact", " REACT_SYNC_METHOD(fixMappingOfEventPrioritiesBetweenFabricAndReact) bool fixMappingOfEventPrioritiesBetweenFabricAndReact() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(fixMappingOfEventPrioritiesBetweenFabricAndReact) static bool fixMappingOfEventPrioritiesBetweenFabricAndReact() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 30, + 31, "fixMountingCoordinatorReportedPendingTransactionsOnAndroid", " REACT_SYNC_METHOD(fixMountingCoordinatorReportedPendingTransactionsOnAndroid) bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(fixMountingCoordinatorReportedPendingTransactionsOnAndroid) static bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 31, + 32, "forceBatchingMountItemsOnAndroid", " REACT_SYNC_METHOD(forceBatchingMountItemsOnAndroid) bool forceBatchingMountItemsOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(forceBatchingMountItemsOnAndroid) static bool forceBatchingMountItemsOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 32, + 33, "fuseboxEnabledDebug", " REACT_SYNC_METHOD(fuseboxEnabledDebug) bool fuseboxEnabledDebug() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(fuseboxEnabledDebug) static bool fuseboxEnabledDebug() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 33, + 34, "fuseboxEnabledRelease", " REACT_SYNC_METHOD(fuseboxEnabledRelease) bool fuseboxEnabledRelease() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(fuseboxEnabledRelease) static bool fuseboxEnabledRelease() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 34, + 35, "initEagerTurboModulesOnNativeModulesQueueAndroid", " REACT_SYNC_METHOD(initEagerTurboModulesOnNativeModulesQueueAndroid) bool initEagerTurboModulesOnNativeModulesQueueAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(initEagerTurboModulesOnNativeModulesQueueAndroid) static bool initEagerTurboModulesOnNativeModulesQueueAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 35, + 36, "lazyAnimationCallbacks", " REACT_SYNC_METHOD(lazyAnimationCallbacks) bool lazyAnimationCallbacks() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(lazyAnimationCallbacks) static bool lazyAnimationCallbacks() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 36, + 37, "loadVectorDrawablesOnImages", " REACT_SYNC_METHOD(loadVectorDrawablesOnImages) bool loadVectorDrawablesOnImages() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(loadVectorDrawablesOnImages) static bool loadVectorDrawablesOnImages() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 37, + 38, "removeNestedCallsToDispatchMountItemsOnAndroid", " REACT_SYNC_METHOD(removeNestedCallsToDispatchMountItemsOnAndroid) bool removeNestedCallsToDispatchMountItemsOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(removeNestedCallsToDispatchMountItemsOnAndroid) static bool removeNestedCallsToDispatchMountItemsOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 38, + 39, "setAndroidLayoutDirection", " REACT_SYNC_METHOD(setAndroidLayoutDirection) bool setAndroidLayoutDirection() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(setAndroidLayoutDirection) static bool setAndroidLayoutDirection() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 39, + 40, "traceTurboModulePromiseRejectionsOnAndroid", " REACT_SYNC_METHOD(traceTurboModulePromiseRejectionsOnAndroid) bool traceTurboModulePromiseRejectionsOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(traceTurboModulePromiseRejectionsOnAndroid) static bool traceTurboModulePromiseRejectionsOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 40, + 41, "useFabricInterop", " REACT_SYNC_METHOD(useFabricInterop) bool useFabricInterop() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useFabricInterop) static bool useFabricInterop() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 41, + 42, "useImmediateExecutorInAndroidBridgeless", " REACT_SYNC_METHOD(useImmediateExecutorInAndroidBridgeless) bool useImmediateExecutorInAndroidBridgeless() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useImmediateExecutorInAndroidBridgeless) static bool useImmediateExecutorInAndroidBridgeless() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 42, + 43, "useModernRuntimeScheduler", " REACT_SYNC_METHOD(useModernRuntimeScheduler) bool useModernRuntimeScheduler() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useModernRuntimeScheduler) static bool useModernRuntimeScheduler() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 43, + 44, "useNativeViewConfigsInBridgelessMode", " REACT_SYNC_METHOD(useNativeViewConfigsInBridgelessMode) bool useNativeViewConfigsInBridgelessMode() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useNativeViewConfigsInBridgelessMode) static bool useNativeViewConfigsInBridgelessMode() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 44, + 45, "useNewReactImageViewBackgroundDrawing", " REACT_SYNC_METHOD(useNewReactImageViewBackgroundDrawing) bool useNewReactImageViewBackgroundDrawing() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useNewReactImageViewBackgroundDrawing) static bool useNewReactImageViewBackgroundDrawing() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 45, + 46, "useOptimisedViewPreallocationOnAndroid", " REACT_SYNC_METHOD(useOptimisedViewPreallocationOnAndroid) bool useOptimisedViewPreallocationOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useOptimisedViewPreallocationOnAndroid) static bool useOptimisedViewPreallocationOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 46, + 47, "useOptimizedEventBatchingOnAndroid", " REACT_SYNC_METHOD(useOptimizedEventBatchingOnAndroid) bool useOptimizedEventBatchingOnAndroid() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useOptimizedEventBatchingOnAndroid) static bool useOptimizedEventBatchingOnAndroid() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 47, + 48, "useRuntimeShadowNodeReferenceUpdate", " REACT_SYNC_METHOD(useRuntimeShadowNodeReferenceUpdate) bool useRuntimeShadowNodeReferenceUpdate() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useRuntimeShadowNodeReferenceUpdate) static bool useRuntimeShadowNodeReferenceUpdate() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( - 48, + 49, "useRuntimeShadowNodeReferenceUpdateOnLayout", " REACT_SYNC_METHOD(useRuntimeShadowNodeReferenceUpdateOnLayout) bool useRuntimeShadowNodeReferenceUpdateOnLayout() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useRuntimeShadowNodeReferenceUpdateOnLayout) static bool useRuntimeShadowNodeReferenceUpdateOnLayout() noexcept { /* implementation */ }\n"); - REACT_SHOW_METHOD_SPEC_ERRORS( - 49, - "useStateAlignmentMechanism", - " REACT_SYNC_METHOD(useStateAlignmentMechanism) bool useStateAlignmentMechanism() noexcept { /* implementation */ }\n" - " REACT_SYNC_METHOD(useStateAlignmentMechanism) static bool useStateAlignmentMechanism() noexcept { /* implementation */ }\n"); REACT_SHOW_METHOD_SPEC_ERRORS( 50, "useTurboModuleInterop", " REACT_SYNC_METHOD(useTurboModuleInterop) bool useTurboModuleInterop() noexcept { /* implementation */ }\n" " REACT_SYNC_METHOD(useTurboModuleInterop) static bool useTurboModuleInterop() noexcept { /* implementation */ }\n"); + REACT_SHOW_METHOD_SPEC_ERRORS( + 51, + "useTurboModules", + " REACT_SYNC_METHOD(useTurboModules) bool useTurboModules() noexcept { /* implementation */ }\n" + " REACT_SYNC_METHOD(useTurboModules) static bool useTurboModules() noexcept { /* implementation */ }\n"); } }; diff --git a/vnext/codegen/react/components/rnwcore/ComponentDescriptors.h b/vnext/codegen/react/components/rnwcore/ComponentDescriptors.h index ad44b516d18..45b7b5ea904 100644 --- a/vnext/codegen/react/components/rnwcore/ComponentDescriptors.h +++ b/vnext/codegen/react/components/rnwcore/ComponentDescriptors.h @@ -18,7 +18,6 @@ namespace facebook::react { using ActivityIndicatorViewComponentDescriptor = ConcreteComponentDescriptor; using AndroidDrawerLayoutComponentDescriptor = ConcreteComponentDescriptor; -using AndroidHorizontalScrollContentViewComponentDescriptor = ConcreteComponentDescriptor; using AndroidSwipeRefreshLayoutComponentDescriptor = ConcreteComponentDescriptor; using DebuggingOverlayComponentDescriptor = ConcreteComponentDescriptor; using PullToRefreshViewComponentDescriptor = ConcreteComponentDescriptor; diff --git a/vnext/codegen/react/components/rnwcore/ShadowNodes.cpp b/vnext/codegen/react/components/rnwcore/ShadowNodes.cpp index 4a65acee57e..dccefb1d478 100644 --- a/vnext/codegen/react/components/rnwcore/ShadowNodes.cpp +++ b/vnext/codegen/react/components/rnwcore/ShadowNodes.cpp @@ -14,7 +14,6 @@ namespace facebook::react { extern const char ActivityIndicatorViewComponentName[] = "ActivityIndicatorView"; extern const char AndroidDrawerLayoutComponentName[] = "AndroidDrawerLayout"; -extern const char AndroidHorizontalScrollContentViewComponentName[] = "AndroidHorizontalScrollContentView"; extern const char AndroidSwipeRefreshLayoutComponentName[] = "AndroidSwipeRefreshLayout"; extern const char DebuggingOverlayComponentName[] = "DebuggingOverlay"; extern const char PullToRefreshViewComponentName[] = "PullToRefreshView"; diff --git a/vnext/codegen/react/components/rnwcore/ShadowNodes.h b/vnext/codegen/react/components/rnwcore/ShadowNodes.h index 36679679a33..2c7c94720cf 100644 --- a/vnext/codegen/react/components/rnwcore/ShadowNodes.h +++ b/vnext/codegen/react/components/rnwcore/ShadowNodes.h @@ -40,17 +40,6 @@ using AndroidDrawerLayoutShadowNode = ConcreteViewShadowNode< AndroidDrawerLayoutEventEmitter, AndroidDrawerLayoutState>; -JSI_EXPORT extern const char AndroidHorizontalScrollContentViewComponentName[]; - -/* - * `ShadowNode` for component. - */ -using AndroidHorizontalScrollContentViewShadowNode = ConcreteViewShadowNode< - AndroidHorizontalScrollContentViewComponentName, - AndroidHorizontalScrollContentViewProps, - AndroidHorizontalScrollContentViewEventEmitter, - AndroidHorizontalScrollContentViewState>; - JSI_EXPORT extern const char AndroidSwipeRefreshLayoutComponentName[]; /* diff --git a/vnext/codegen/react/components/rnwcore/States.h b/vnext/codegen/react/components/rnwcore/States.h index bb428bfc1a2..df8b9e54057 100644 --- a/vnext/codegen/react/components/rnwcore/States.h +++ b/vnext/codegen/react/components/rnwcore/States.h @@ -38,18 +38,6 @@ class AndroidDrawerLayoutState { #endif }; -class AndroidHorizontalScrollContentViewState { -public: - AndroidHorizontalScrollContentViewState() = default; - -#ifdef ANDROID - AndroidHorizontalScrollContentViewState(AndroidHorizontalScrollContentViewState const &previousState, folly::dynamic data){}; - folly::dynamic getDynamic() const { - return {}; - }; -#endif -}; - class AndroidSwipeRefreshLayoutState { public: AndroidSwipeRefreshLayoutState() = default; diff --git a/vnext/codegen/rnwcoreJSI-generated.cpp b/vnext/codegen/rnwcoreJSI-generated.cpp index 436d0409102..3197f255aae 100644 --- a/vnext/codegen/rnwcoreJSI-generated.cpp +++ b/vnext/codegen/rnwcoreJSI-generated.cpp @@ -46,13 +46,13 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableA rt ); } -static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableAndroidMixBlendModeProp(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - return static_cast(&turboModule)->enableAndroidMixBlendModeProp( +static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableBackgroundStyleApplicator(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->enableBackgroundStyleApplicator( rt ); } -static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableBackgroundStyleApplicator(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - return static_cast(&turboModule)->enableBackgroundStyleApplicator( +static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableBridgelessArchitecture(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->enableBridgelessArchitecture( rt ); } @@ -81,6 +81,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableF rt ); } +static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableFabricRenderer(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->enableFabricRenderer( + rt + ); +} static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableFabricRendererExclusively(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { return static_cast(&turboModule)->enableFabricRendererExclusively( rt @@ -256,13 +261,13 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useRunt rt ); } -static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useStateAlignmentMechanism(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - return static_cast(&turboModule)->useStateAlignmentMechanism( +static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useTurboModuleInterop(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->useTurboModuleInterop( rt ); } -static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useTurboModuleInterop(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - return static_cast(&turboModule)->useTurboModuleInterop( +static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useTurboModules(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->useTurboModules( rt ); } @@ -276,13 +281,14 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI methodMap_["destroyFabricSurfacesInReactInstanceManager"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_destroyFabricSurfacesInReactInstanceManager}; methodMap_["enableAlignItemsBaselineOnFabricIOS"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableAlignItemsBaselineOnFabricIOS}; methodMap_["enableAndroidLineHeightCentering"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableAndroidLineHeightCentering}; - methodMap_["enableAndroidMixBlendModeProp"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableAndroidMixBlendModeProp}; methodMap_["enableBackgroundStyleApplicator"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableBackgroundStyleApplicator}; + methodMap_["enableBridgelessArchitecture"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableBridgelessArchitecture}; methodMap_["enableCleanTextInputYogaNode"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableCleanTextInputYogaNode}; methodMap_["enableDeletionOfUnmountedViews"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableDeletionOfUnmountedViews}; methodMap_["enableEagerRootViewAttachment"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableEagerRootViewAttachment}; methodMap_["enableEventEmitterRetentionDuringGesturesOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableEventEmitterRetentionDuringGesturesOnAndroid}; methodMap_["enableFabricLogs"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableFabricLogs}; + methodMap_["enableFabricRenderer"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableFabricRenderer}; methodMap_["enableFabricRendererExclusively"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableFabricRendererExclusively}; methodMap_["enableGranularShadowTreeStateReconciliation"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableGranularShadowTreeStateReconciliation}; methodMap_["enableIOSViewClipToPaddingBox"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableIOSViewClipToPaddingBox}; @@ -318,8 +324,8 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI methodMap_["useOptimizedEventBatchingOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useOptimizedEventBatchingOnAndroid}; methodMap_["useRuntimeShadowNodeReferenceUpdate"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useRuntimeShadowNodeReferenceUpdate}; methodMap_["useRuntimeShadowNodeReferenceUpdateOnLayout"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useRuntimeShadowNodeReferenceUpdateOnLayout}; - methodMap_["useStateAlignmentMechanism"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useStateAlignmentMechanism}; methodMap_["useTurboModuleInterop"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useTurboModuleInterop}; + methodMap_["useTurboModules"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useTurboModules}; } static jsi::Value __hostFunction_NativeAccessibilityInfoCxxSpecJSI_isReduceMotionEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { static_cast(&turboModule)->isReduceMotionEnabled( @@ -1306,40 +1312,6 @@ NativeDevSettingsCxxSpecJSI::NativeDevSettingsCxxSpecJSI(std::shared_ptr(&turboModule)->setConsolePatchSettings( - rt, - count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt) - ); - return jsi::Value::undefined(); -} -static jsi::Value __hostFunction_NativeDevToolsSettingsManagerCxxSpecJSI_getConsolePatchSettings(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - auto result = static_cast(&turboModule)->getConsolePatchSettings( - rt - ); - return result ? jsi::Value(std::move(*result)) : jsi::Value::null(); -} -static jsi::Value __hostFunction_NativeDevToolsSettingsManagerCxxSpecJSI_setProfilingSettings(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - static_cast(&turboModule)->setProfilingSettings( - rt, - count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt) - ); - return jsi::Value::undefined(); -} -static jsi::Value __hostFunction_NativeDevToolsSettingsManagerCxxSpecJSI_getProfilingSettings(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - auto result = static_cast(&turboModule)->getProfilingSettings( - rt - ); - return result ? jsi::Value(std::move(*result)) : jsi::Value::null(); -} - -NativeDevToolsSettingsManagerCxxSpecJSI::NativeDevToolsSettingsManagerCxxSpecJSI(std::shared_ptr jsInvoker) - : TurboModule("DevToolsSettingsManager", jsInvoker) { - methodMap_["setConsolePatchSettings"] = MethodMetadata {1, __hostFunction_NativeDevToolsSettingsManagerCxxSpecJSI_setConsolePatchSettings}; - methodMap_["getConsolePatchSettings"] = MethodMetadata {0, __hostFunction_NativeDevToolsSettingsManagerCxxSpecJSI_getConsolePatchSettings}; - methodMap_["setProfilingSettings"] = MethodMetadata {1, __hostFunction_NativeDevToolsSettingsManagerCxxSpecJSI_setProfilingSettings}; - methodMap_["getProfilingSettings"] = MethodMetadata {0, __hostFunction_NativeDevToolsSettingsManagerCxxSpecJSI_getProfilingSettings}; -} static jsi::Value __hostFunction_NativeDialogManagerAndroidCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { return static_cast(&turboModule)->getConstants( rt @@ -2202,6 +2174,25 @@ NativePushNotificationManagerIOSCxxSpecJSI::NativePushNotificationManagerIOSCxxS methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_addListener}; methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_removeListeners}; } +static jsi::Value __hostFunction_NativeReactDevToolsSettingsManagerCxxSpecJSI_setGlobalHookSettings(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setGlobalHookSettings( + rt, + count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt) + ); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeReactDevToolsSettingsManagerCxxSpecJSI_getGlobalHookSettings(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + auto result = static_cast(&turboModule)->getGlobalHookSettings( + rt + ); + return result ? jsi::Value(std::move(*result)) : jsi::Value::null(); +} + +NativeReactDevToolsSettingsManagerCxxSpecJSI::NativeReactDevToolsSettingsManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ReactDevToolsSettingsManager", jsInvoker) { + methodMap_["setGlobalHookSettings"] = MethodMetadata {1, __hostFunction_NativeReactDevToolsSettingsManagerCxxSpecJSI_setGlobalHookSettings}; + methodMap_["getGlobalHookSettings"] = MethodMetadata {0, __hostFunction_NativeReactDevToolsSettingsManagerCxxSpecJSI_getGlobalHookSettings}; +} static jsi::Value __hostFunction_NativeRedBoxCxxSpecJSI_setExtraData(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { static_cast(&turboModule)->setExtraData( rt, @@ -3087,59 +3078,44 @@ NativePerformanceCxxSpecJSI::NativePerformanceCxxSpecJSI(std::shared_ptr(&turboModule)->startReporting( - rt, - count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber() +static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_getEventCounts(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getEventCounts( + rt ); - return jsi::Value::undefined(); } -static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_stopReporting(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - static_cast(&turboModule)->stopReporting( +static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_createObserver(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->createObserver( rt, - count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber() + count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asObject(rt).asFunction(rt) ); - return jsi::Value::undefined(); } -static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_setIsBuffered(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - static_cast(&turboModule)->setIsBuffered( +static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_getDroppedEntriesCount(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getDroppedEntriesCount( rt, - count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asObject(rt).asArray(rt), - count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asBool() - ); - return jsi::Value::undefined(); -} -static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_popPendingEntries(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - return static_cast(&turboModule)->popPendingEntries( - rt + count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : jsi::Value(rt, args[0]) ); } -static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_setOnPerformanceEntryCallback(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - static_cast(&turboModule)->setOnPerformanceEntryCallback( +static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_observe(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->observe( rt, - count <= 0 || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asObject(rt).asFunction(rt)) + count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : jsi::Value(rt, args[0]), + count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asObject(rt) ); return jsi::Value::undefined(); } -static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_logRawEntry(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - static_cast(&turboModule)->logRawEntry( +static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_disconnect(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->disconnect( rt, - count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asObject(rt) + count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : jsi::Value(rt, args[0]) ); return jsi::Value::undefined(); } -static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_getEventCounts(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - return static_cast(&turboModule)->getEventCounts( - rt - ); -} -static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_setDurationThreshold(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { - static_cast(&turboModule)->setDurationThreshold( +static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_takeRecords(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->takeRecords( rt, - count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber(), - count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asNumber() + count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : jsi::Value(rt, args[0]), + count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asBool() ); - return jsi::Value::undefined(); } static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_clearEntries(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { static_cast(&turboModule)->clearEntries( @@ -3164,14 +3140,12 @@ static jsi::Value __hostFunction_NativePerformanceObserverCxxSpecJSI_getSupporte NativePerformanceObserverCxxSpecJSI::NativePerformanceObserverCxxSpecJSI(std::shared_ptr jsInvoker) : TurboModule("NativePerformanceObserverCxx", jsInvoker) { - methodMap_["startReporting"] = MethodMetadata {1, __hostFunction_NativePerformanceObserverCxxSpecJSI_startReporting}; - methodMap_["stopReporting"] = MethodMetadata {1, __hostFunction_NativePerformanceObserverCxxSpecJSI_stopReporting}; - methodMap_["setIsBuffered"] = MethodMetadata {2, __hostFunction_NativePerformanceObserverCxxSpecJSI_setIsBuffered}; - methodMap_["popPendingEntries"] = MethodMetadata {0, __hostFunction_NativePerformanceObserverCxxSpecJSI_popPendingEntries}; - methodMap_["setOnPerformanceEntryCallback"] = MethodMetadata {1, __hostFunction_NativePerformanceObserverCxxSpecJSI_setOnPerformanceEntryCallback}; - methodMap_["logRawEntry"] = MethodMetadata {1, __hostFunction_NativePerformanceObserverCxxSpecJSI_logRawEntry}; methodMap_["getEventCounts"] = MethodMetadata {0, __hostFunction_NativePerformanceObserverCxxSpecJSI_getEventCounts}; - methodMap_["setDurationThreshold"] = MethodMetadata {2, __hostFunction_NativePerformanceObserverCxxSpecJSI_setDurationThreshold}; + methodMap_["createObserver"] = MethodMetadata {1, __hostFunction_NativePerformanceObserverCxxSpecJSI_createObserver}; + methodMap_["getDroppedEntriesCount"] = MethodMetadata {1, __hostFunction_NativePerformanceObserverCxxSpecJSI_getDroppedEntriesCount}; + methodMap_["observe"] = MethodMetadata {2, __hostFunction_NativePerformanceObserverCxxSpecJSI_observe}; + methodMap_["disconnect"] = MethodMetadata {1, __hostFunction_NativePerformanceObserverCxxSpecJSI_disconnect}; + methodMap_["takeRecords"] = MethodMetadata {2, __hostFunction_NativePerformanceObserverCxxSpecJSI_takeRecords}; methodMap_["clearEntries"] = MethodMetadata {2, __hostFunction_NativePerformanceObserverCxxSpecJSI_clearEntries}; methodMap_["getEntries"] = MethodMetadata {2, __hostFunction_NativePerformanceObserverCxxSpecJSI_getEntries}; methodMap_["getSupportedPerformanceEntryTypes"] = MethodMetadata {0, __hostFunction_NativePerformanceObserverCxxSpecJSI_getSupportedPerformanceEntryTypes}; diff --git a/vnext/codegen/rnwcoreJSI.h b/vnext/codegen/rnwcoreJSI.h index 8797849f456..7936fcc7984 100644 --- a/vnext/codegen/rnwcoreJSI.h +++ b/vnext/codegen/rnwcoreJSI.h @@ -27,13 +27,14 @@ namespace facebook::react { virtual bool destroyFabricSurfacesInReactInstanceManager(jsi::Runtime &rt) = 0; virtual bool enableAlignItemsBaselineOnFabricIOS(jsi::Runtime &rt) = 0; virtual bool enableAndroidLineHeightCentering(jsi::Runtime &rt) = 0; - virtual bool enableAndroidMixBlendModeProp(jsi::Runtime &rt) = 0; virtual bool enableBackgroundStyleApplicator(jsi::Runtime &rt) = 0; + virtual bool enableBridgelessArchitecture(jsi::Runtime &rt) = 0; virtual bool enableCleanTextInputYogaNode(jsi::Runtime &rt) = 0; virtual bool enableDeletionOfUnmountedViews(jsi::Runtime &rt) = 0; virtual bool enableEagerRootViewAttachment(jsi::Runtime &rt) = 0; virtual bool enableEventEmitterRetentionDuringGesturesOnAndroid(jsi::Runtime &rt) = 0; virtual bool enableFabricLogs(jsi::Runtime &rt) = 0; + virtual bool enableFabricRenderer(jsi::Runtime &rt) = 0; virtual bool enableFabricRendererExclusively(jsi::Runtime &rt) = 0; virtual bool enableGranularShadowTreeStateReconciliation(jsi::Runtime &rt) = 0; virtual bool enableIOSViewClipToPaddingBox(jsi::Runtime &rt) = 0; @@ -69,8 +70,8 @@ namespace facebook::react { virtual bool useOptimizedEventBatchingOnAndroid(jsi::Runtime &rt) = 0; virtual bool useRuntimeShadowNodeReferenceUpdate(jsi::Runtime &rt) = 0; virtual bool useRuntimeShadowNodeReferenceUpdateOnLayout(jsi::Runtime &rt) = 0; - virtual bool useStateAlignmentMechanism(jsi::Runtime &rt) = 0; virtual bool useTurboModuleInterop(jsi::Runtime &rt) = 0; + virtual bool useTurboModules(jsi::Runtime &rt) = 0; }; @@ -153,14 +154,6 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::enableAndroidLineHeightCentering, jsInvoker_, instance_); } - bool enableAndroidMixBlendModeProp(jsi::Runtime &rt) override { - static_assert( - bridging::getParameterCount(&T::enableAndroidMixBlendModeProp) == 1, - "Expected enableAndroidMixBlendModeProp(...) to have 1 parameters"); - - return bridging::callFromJs( - rt, &T::enableAndroidMixBlendModeProp, jsInvoker_, instance_); - } bool enableBackgroundStyleApplicator(jsi::Runtime &rt) override { static_assert( bridging::getParameterCount(&T::enableBackgroundStyleApplicator) == 1, @@ -169,6 +162,14 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::enableBackgroundStyleApplicator, jsInvoker_, instance_); } + bool enableBridgelessArchitecture(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::enableBridgelessArchitecture) == 1, + "Expected enableBridgelessArchitecture(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::enableBridgelessArchitecture, jsInvoker_, instance_); + } bool enableCleanTextInputYogaNode(jsi::Runtime &rt) override { static_assert( bridging::getParameterCount(&T::enableCleanTextInputYogaNode) == 1, @@ -209,6 +210,14 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::enableFabricLogs, jsInvoker_, instance_); } + bool enableFabricRenderer(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::enableFabricRenderer) == 1, + "Expected enableFabricRenderer(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::enableFabricRenderer, jsInvoker_, instance_); + } bool enableFabricRendererExclusively(jsi::Runtime &rt) override { static_assert( bridging::getParameterCount(&T::enableFabricRendererExclusively) == 1, @@ -489,14 +498,6 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::useRuntimeShadowNodeReferenceUpdateOnLayout, jsInvoker_, instance_); } - bool useStateAlignmentMechanism(jsi::Runtime &rt) override { - static_assert( - bridging::getParameterCount(&T::useStateAlignmentMechanism) == 1, - "Expected useStateAlignmentMechanism(...) to have 1 parameters"); - - return bridging::callFromJs( - rt, &T::useStateAlignmentMechanism, jsInvoker_, instance_); - } bool useTurboModuleInterop(jsi::Runtime &rt) override { static_assert( bridging::getParameterCount(&T::useTurboModuleInterop) == 1, @@ -505,6 +506,14 @@ class JSI_EXPORT NativeReactNativeFeatureFlagsCxxSpec : public TurboModule { return bridging::callFromJs( rt, &T::useTurboModuleInterop, jsInvoker_, instance_); } + bool useTurboModules(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::useTurboModules) == 1, + "Expected useTurboModules(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::useTurboModules, jsInvoker_, instance_); + } private: friend class NativeReactNativeFeatureFlagsCxxSpec; @@ -3052,83 +3061,6 @@ class JSI_EXPORT NativeDevSettingsCxxSpec : public TurboModule { }; - class JSI_EXPORT NativeDevToolsSettingsManagerCxxSpecJSI : public TurboModule { -protected: - NativeDevToolsSettingsManagerCxxSpecJSI(std::shared_ptr jsInvoker); - -public: - virtual void setConsolePatchSettings(jsi::Runtime &rt, jsi::String newConsolePatchSettings) = 0; - virtual std::optional getConsolePatchSettings(jsi::Runtime &rt) = 0; - virtual void setProfilingSettings(jsi::Runtime &rt, jsi::String newProfilingSettings) = 0; - virtual std::optional getProfilingSettings(jsi::Runtime &rt) = 0; - -}; - -template -class JSI_EXPORT NativeDevToolsSettingsManagerCxxSpec : public TurboModule { -public: - jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { - return delegate_.get(rt, propName); - } - - static constexpr std::string_view kModuleName = "DevToolsSettingsManager"; - -protected: - NativeDevToolsSettingsManagerCxxSpec(std::shared_ptr jsInvoker) - : TurboModule(std::string{NativeDevToolsSettingsManagerCxxSpec::kModuleName}, jsInvoker), - delegate_(reinterpret_cast(this), jsInvoker) {} - - -private: - class Delegate : public NativeDevToolsSettingsManagerCxxSpecJSI { - public: - Delegate(T *instance, std::shared_ptr jsInvoker) : - NativeDevToolsSettingsManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) { - - } - - void setConsolePatchSettings(jsi::Runtime &rt, jsi::String newConsolePatchSettings) override { - static_assert( - bridging::getParameterCount(&T::setConsolePatchSettings) == 2, - "Expected setConsolePatchSettings(...) to have 2 parameters"); - - return bridging::callFromJs( - rt, &T::setConsolePatchSettings, jsInvoker_, instance_, std::move(newConsolePatchSettings)); - } - std::optional getConsolePatchSettings(jsi::Runtime &rt) override { - static_assert( - bridging::getParameterCount(&T::getConsolePatchSettings) == 1, - "Expected getConsolePatchSettings(...) to have 1 parameters"); - - return bridging::callFromJs>( - rt, &T::getConsolePatchSettings, jsInvoker_, instance_); - } - void setProfilingSettings(jsi::Runtime &rt, jsi::String newProfilingSettings) override { - static_assert( - bridging::getParameterCount(&T::setProfilingSettings) == 2, - "Expected setProfilingSettings(...) to have 2 parameters"); - - return bridging::callFromJs( - rt, &T::setProfilingSettings, jsInvoker_, instance_, std::move(newProfilingSettings)); - } - std::optional getProfilingSettings(jsi::Runtime &rt) override { - static_assert( - bridging::getParameterCount(&T::getProfilingSettings) == 1, - "Expected getProfilingSettings(...) to have 1 parameters"); - - return bridging::callFromJs>( - rt, &T::getProfilingSettings, jsInvoker_, instance_); - } - - private: - friend class NativeDevToolsSettingsManagerCxxSpec; - T *instance_; - }; - - Delegate delegate_; -}; - - #pragma mark - NativeDialogManagerAndroidDialogOptions @@ -6141,6 +6073,65 @@ class JSI_EXPORT NativePushNotificationManagerIOSCxxSpec : public TurboModule { }; + class JSI_EXPORT NativeReactDevToolsSettingsManagerCxxSpecJSI : public TurboModule { +protected: + NativeReactDevToolsSettingsManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void setGlobalHookSettings(jsi::Runtime &rt, jsi::String settings) = 0; + virtual std::optional getGlobalHookSettings(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeReactDevToolsSettingsManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + + static constexpr std::string_view kModuleName = "ReactDevToolsSettingsManager"; + +protected: + NativeReactDevToolsSettingsManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule(std::string{NativeReactDevToolsSettingsManagerCxxSpec::kModuleName}, jsInvoker), + delegate_(reinterpret_cast(this), jsInvoker) {} + + +private: + class Delegate : public NativeReactDevToolsSettingsManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeReactDevToolsSettingsManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) { + + } + + void setGlobalHookSettings(jsi::Runtime &rt, jsi::String settings) override { + static_assert( + bridging::getParameterCount(&T::setGlobalHookSettings) == 2, + "Expected setGlobalHookSettings(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setGlobalHookSettings, jsInvoker_, instance_, std::move(settings)); + } + std::optional getGlobalHookSettings(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getGlobalHookSettings) == 1, + "Expected getGlobalHookSettings(...) to have 1 parameters"); + + return bridging::callFromJs>( + rt, &T::getGlobalHookSettings, jsInvoker_, instance_); + } + + private: + friend class NativeReactDevToolsSettingsManagerCxxSpec; + T *instance_; + }; + + Delegate delegate_; +}; + + class JSI_EXPORT NativeRedBoxCxxSpecJSI : public TurboModule { protected: NativeRedBoxCxxSpecJSI(std::shared_ptr jsInvoker); @@ -8315,19 +8306,21 @@ class JSI_EXPORT NativePerformanceCxxSpec : public TurboModule { -#pragma mark - NativePerformanceObserverGetPendingEntriesResult +#pragma mark - NativePerformanceObserverPerformanceObserverInit -template -struct NativePerformanceObserverGetPendingEntriesResult { - P0 entries; - P1 droppedEntriesCount; - bool operator==(const NativePerformanceObserverGetPendingEntriesResult &other) const { - return entries == other.entries && droppedEntriesCount == other.droppedEntriesCount; +template +struct NativePerformanceObserverPerformanceObserverInit { + P0 entryTypes; + P1 type; + P2 buffered; + P3 durationThreshold; + bool operator==(const NativePerformanceObserverPerformanceObserverInit &other) const { + return entryTypes == other.entryTypes && type == other.type && buffered == other.buffered && durationThreshold == other.durationThreshold; } }; template -struct NativePerformanceObserverGetPendingEntriesResultBridging { +struct NativePerformanceObserverPerformanceObserverInitBridging { static T types; static T fromJs( @@ -8335,17 +8328,27 @@ struct NativePerformanceObserverGetPendingEntriesResultBridging { const jsi::Object &value, const std::shared_ptr &jsInvoker) { T result{ - bridging::fromJs(rt, value.getProperty(rt, "entries"), jsInvoker), - bridging::fromJs(rt, value.getProperty(rt, "droppedEntriesCount"), jsInvoker)}; + bridging::fromJs(rt, value.getProperty(rt, "entryTypes"), jsInvoker), + bridging::fromJs(rt, value.getProperty(rt, "type"), jsInvoker), + bridging::fromJs(rt, value.getProperty(rt, "buffered"), jsInvoker), + bridging::fromJs(rt, value.getProperty(rt, "durationThreshold"), jsInvoker)}; return result; } #ifdef DEBUG - static jsi::Array entriesToJs(jsi::Runtime &rt, decltype(types.entries) value) { + static jsi::Array entryTypesToJs(jsi::Runtime &rt, decltype(types.entryTypes) value) { + return bridging::toJs(rt, value); + } + + static double typeToJs(jsi::Runtime &rt, decltype(types.type) value) { return bridging::toJs(rt, value); } - static double droppedEntriesCountToJs(jsi::Runtime &rt, decltype(types.droppedEntriesCount) value) { + static bool bufferedToJs(jsi::Runtime &rt, decltype(types.buffered) value) { + return bridging::toJs(rt, value); + } + + static double durationThresholdToJs(jsi::Runtime &rt, decltype(types.durationThreshold) value) { return bridging::toJs(rt, value); } #endif @@ -8355,8 +8358,18 @@ struct NativePerformanceObserverGetPendingEntriesResultBridging { const T &value, const std::shared_ptr &jsInvoker) { auto result = facebook::jsi::Object(rt); - result.setProperty(rt, "entries", bridging::toJs(rt, value.entries, jsInvoker)); - result.setProperty(rt, "droppedEntriesCount", bridging::toJs(rt, value.droppedEntriesCount, jsInvoker)); + if (value.entryTypes) { + result.setProperty(rt, "entryTypes", bridging::toJs(rt, value.entryTypes.value(), jsInvoker)); + } + if (value.type) { + result.setProperty(rt, "type", bridging::toJs(rt, value.type.value(), jsInvoker)); + } + if (value.buffered) { + result.setProperty(rt, "buffered", bridging::toJs(rt, value.buffered.value(), jsInvoker)); + } + if (value.durationThreshold) { + result.setProperty(rt, "durationThreshold", bridging::toJs(rt, value.durationThreshold.value(), jsInvoker)); + } return result; } }; @@ -8455,14 +8468,12 @@ class JSI_EXPORT NativePerformanceObserverCxxSpecJSI : public TurboModule { NativePerformanceObserverCxxSpecJSI(std::shared_ptr jsInvoker); public: - virtual void startReporting(jsi::Runtime &rt, double entryType) = 0; - virtual void stopReporting(jsi::Runtime &rt, double entryType) = 0; - virtual void setIsBuffered(jsi::Runtime &rt, jsi::Array entryTypes, bool isBuffered) = 0; - virtual jsi::Object popPendingEntries(jsi::Runtime &rt) = 0; - virtual void setOnPerformanceEntryCallback(jsi::Runtime &rt, std::optional callback) = 0; - virtual void logRawEntry(jsi::Runtime &rt, jsi::Object entry) = 0; virtual jsi::Array getEventCounts(jsi::Runtime &rt) = 0; - virtual void setDurationThreshold(jsi::Runtime &rt, double entryType, double durationThreshold) = 0; + virtual jsi::Value createObserver(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual double getDroppedEntriesCount(jsi::Runtime &rt, jsi::Value observer) = 0; + virtual void observe(jsi::Runtime &rt, jsi::Value observer, jsi::Object options) = 0; + virtual void disconnect(jsi::Runtime &rt, jsi::Value observer) = 0; + virtual jsi::Array takeRecords(jsi::Runtime &rt, jsi::Value observer, bool sort) = 0; virtual void clearEntries(jsi::Runtime &rt, std::optional entryType, std::optional entryName) = 0; virtual jsi::Array getEntries(jsi::Runtime &rt, std::optional entryType, std::optional entryName) = 0; virtual jsi::Array getSupportedPerformanceEntryTypes(jsi::Runtime &rt) = 0; @@ -8492,69 +8503,53 @@ class JSI_EXPORT NativePerformanceObserverCxxSpec : public TurboModule { } - void startReporting(jsi::Runtime &rt, double entryType) override { - static_assert( - bridging::getParameterCount(&T::startReporting) == 2, - "Expected startReporting(...) to have 2 parameters"); - - return bridging::callFromJs( - rt, &T::startReporting, jsInvoker_, instance_, std::move(entryType)); - } - void stopReporting(jsi::Runtime &rt, double entryType) override { + jsi::Array getEventCounts(jsi::Runtime &rt) override { static_assert( - bridging::getParameterCount(&T::stopReporting) == 2, - "Expected stopReporting(...) to have 2 parameters"); + bridging::getParameterCount(&T::getEventCounts) == 1, + "Expected getEventCounts(...) to have 1 parameters"); - return bridging::callFromJs( - rt, &T::stopReporting, jsInvoker_, instance_, std::move(entryType)); + return bridging::callFromJs( + rt, &T::getEventCounts, jsInvoker_, instance_); } - void setIsBuffered(jsi::Runtime &rt, jsi::Array entryTypes, bool isBuffered) override { + jsi::Value createObserver(jsi::Runtime &rt, jsi::Function callback) override { static_assert( - bridging::getParameterCount(&T::setIsBuffered) == 3, - "Expected setIsBuffered(...) to have 3 parameters"); + bridging::getParameterCount(&T::createObserver) == 2, + "Expected createObserver(...) to have 2 parameters"); - return bridging::callFromJs( - rt, &T::setIsBuffered, jsInvoker_, instance_, std::move(entryTypes), std::move(isBuffered)); + return bridging::callFromJs( + rt, &T::createObserver, jsInvoker_, instance_, std::move(callback)); } - jsi::Object popPendingEntries(jsi::Runtime &rt) override { + double getDroppedEntriesCount(jsi::Runtime &rt, jsi::Value observer) override { static_assert( - bridging::getParameterCount(&T::popPendingEntries) == 1, - "Expected popPendingEntries(...) to have 1 parameters"); + bridging::getParameterCount(&T::getDroppedEntriesCount) == 2, + "Expected getDroppedEntriesCount(...) to have 2 parameters"); - return bridging::callFromJs( - rt, &T::popPendingEntries, jsInvoker_, instance_); + return bridging::callFromJs( + rt, &T::getDroppedEntriesCount, jsInvoker_, instance_, std::move(observer)); } - void setOnPerformanceEntryCallback(jsi::Runtime &rt, std::optional callback) override { + void observe(jsi::Runtime &rt, jsi::Value observer, jsi::Object options) override { static_assert( - bridging::getParameterCount(&T::setOnPerformanceEntryCallback) == 2, - "Expected setOnPerformanceEntryCallback(...) to have 2 parameters"); + bridging::getParameterCount(&T::observe) == 3, + "Expected observe(...) to have 3 parameters"); return bridging::callFromJs( - rt, &T::setOnPerformanceEntryCallback, jsInvoker_, instance_, std::move(callback)); + rt, &T::observe, jsInvoker_, instance_, std::move(observer), std::move(options)); } - void logRawEntry(jsi::Runtime &rt, jsi::Object entry) override { + void disconnect(jsi::Runtime &rt, jsi::Value observer) override { static_assert( - bridging::getParameterCount(&T::logRawEntry) == 2, - "Expected logRawEntry(...) to have 2 parameters"); + bridging::getParameterCount(&T::disconnect) == 2, + "Expected disconnect(...) to have 2 parameters"); return bridging::callFromJs( - rt, &T::logRawEntry, jsInvoker_, instance_, std::move(entry)); + rt, &T::disconnect, jsInvoker_, instance_, std::move(observer)); } - jsi::Array getEventCounts(jsi::Runtime &rt) override { + jsi::Array takeRecords(jsi::Runtime &rt, jsi::Value observer, bool sort) override { static_assert( - bridging::getParameterCount(&T::getEventCounts) == 1, - "Expected getEventCounts(...) to have 1 parameters"); + bridging::getParameterCount(&T::takeRecords) == 3, + "Expected takeRecords(...) to have 3 parameters"); return bridging::callFromJs( - rt, &T::getEventCounts, jsInvoker_, instance_); - } - void setDurationThreshold(jsi::Runtime &rt, double entryType, double durationThreshold) override { - static_assert( - bridging::getParameterCount(&T::setDurationThreshold) == 3, - "Expected setDurationThreshold(...) to have 3 parameters"); - - return bridging::callFromJs( - rt, &T::setDurationThreshold, jsInvoker_, instance_, std::move(entryType), std::move(durationThreshold)); + rt, &T::takeRecords, jsInvoker_, instance_, std::move(observer), std::move(sort)); } void clearEntries(jsi::Runtime &rt, std::optional entryType, std::optional entryName) override { static_assert( diff --git a/vnext/overrides.json b/vnext/overrides.json index 7e1ab5f084a..478512b25e4 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -8,13 +8,13 @@ "**/__snapshots__/**", "src-win/rntypes/**" ], - "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", + "baseVersion": "0.77.0-nightly-20241001-223e98cc4", "overrides": [ { "type": "derived", "file": ".flowconfig", "baseFile": ".flowconfig", - "baseHash": "3fbaf9dcd4027fa382894d06f330d0c68ceff9fb" + "baseHash": "0ef50a705dc56608e4a8bd11d3b0d3daedfc0012" }, { "type": "derived", @@ -214,7 +214,7 @@ "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp", "baseFile": "packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp", - "baseHash": "807c3113a5dbfe4774994e9b02058dc55525b80d", + "baseHash": "2c02cd138f55d35ae118ee251e18e2e9243c2a0e", "issue": 13172 }, { @@ -228,7 +228,7 @@ "type": "derived", "file": "src-win/index.windows.js", "baseFile": "packages/react-native/index.js", - "baseHash": "da5d9e79c8c14c56ba00f73c8514c06e6fffe8ed" + "baseHash": "70b04f859a60e3752e6937b9fc294ffee30e6366" }, { "type": "platform", @@ -404,7 +404,7 @@ "type": "patch", "file": "src-win/Libraries/Components/Touchable/Touchable.windows.js", "baseFile": "packages/react-native/Libraries/Components/Touchable/Touchable.js", - "baseHash": "27e19d3bf49ff28629fdad544aad04939c2ce030", + "baseHash": "b06bb9da5282d7559f283a7d535797a0417808a6", "issue": 0 }, { @@ -473,6 +473,7 @@ "type": "copy", "file": "src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js", "baseFile": "packages/react-native/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js", + "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "baseHash": "1c9eb481e8ed077fa650e3ea34837e2a31310366" }, { @@ -527,7 +528,7 @@ "type": "derived", "file": "src-win/Libraries/NativeComponent/BaseViewConfig.windows.js", "baseFile": "packages/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js", - "baseHash": "0b4642542c2865c5cd3d542a82b295a1aca21c1a" + "baseHash": "af602af3c3acc6521f5535f2fe14bfe08cf1b5e9" }, { "type": "derived", diff --git a/vnext/package.json b/vnext/package.json index 029adc5e95c..f71ec005f0b 100644 --- a/vnext/package.json +++ b/vnext/package.json @@ -28,13 +28,13 @@ "@react-native-community/cli-platform-ios": "14.0.0", "@react-native-windows/cli": "0.0.0-canary.238", "@react-native/assets": "1.0.0", - "@react-native/assets-registry": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/codegen": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/community-cli-plugin": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/gradle-plugin": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/js-polyfills": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/normalize-colors": "0.77.0-nightly-20240925-0cb32d5ac", - "@react-native/virtualized-lists": "0.77.0-nightly-20240925-0cb32d5ac", + "@react-native/assets-registry": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/codegen": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/community-cli-plugin": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/gradle-plugin": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/js-polyfills": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/normalize-colors": "0.77.0-nightly-20241001-223e98cc4", + "@react-native/virtualized-lists": "0.77.0-nightly-20241001-223e98cc4", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -56,7 +56,7 @@ "nullthrows": "^1.1.1", "pretty-format": "^29.7.0", "promise": "^8.3.0", - "react-devtools-core": "^5.3.1", + "react-devtools-core": "^6.0.0", "react-refresh": "^0.14.0", "react-shallow-renderer": "^16.15.0", "regenerator-runtime": "^0.13.2", @@ -86,7 +86,7 @@ "just-scripts": "^1.3.3", "prettier": "2.8.8", "react": "19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac", + "react-native": "0.77.0-nightly-20241001-223e98cc4", "react-native-platform-override": "^1.9.47", "react-refresh": "^0.14.0", "typescript": "5.0.4" @@ -94,7 +94,7 @@ "peerDependencies": { "@types/react": "^18.2.6", "react": "^19.0.0-rc-fb9a90fa48-20240614", - "react-native": "0.77.0-nightly-20240925-0cb32d5ac" + "react-native": "0.77.0-nightly-20241001-223e98cc4" }, "beachball": { "defaultNpmTag": "canary", diff --git a/vnext/src-win/Libraries/Components/Touchable/Touchable.windows.js b/vnext/src-win/Libraries/Components/Touchable/Touchable.windows.js index 24f417fe3f8..bc1d76b8777 100644 --- a/vnext/src-win/Libraries/Components/Touchable/Touchable.windows.js +++ b/vnext/src-win/Libraries/Components/Touchable/Touchable.windows.js @@ -718,13 +718,17 @@ const TouchableMixin = { return; } this.state.touchable.positionOnActivate && + // $FlowFixMe[prop-missing] Position.release(this.state.touchable.positionOnActivate); this.state.touchable.dimensionsOnActivate && + // $FlowFixMe[prop-missing] BoundingDimensions.release(this.state.touchable.dimensionsOnActivate); + // $FlowFixMe[prop-missing] this.state.touchable.positionOnActivate = Position.getPooled( globalX, globalY, ); + // $FlowFixMe[prop-missing] this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled( w, h, diff --git a/vnext/src-win/Libraries/NativeComponent/BaseViewConfig.windows.js b/vnext/src-win/Libraries/NativeComponent/BaseViewConfig.windows.js index e00bb5b109d..e6b84072710 100644 --- a/vnext/src-win/Libraries/NativeComponent/BaseViewConfig.windows.js +++ b/vnext/src-win/Libraries/NativeComponent/BaseViewConfig.windows.js @@ -248,7 +248,7 @@ const validAttributesForNonEventProps = { boxShadow: { process: require('../StyleSheet/processBoxShadow').default, }, - experimental_mixBlendMode: true, + mixBlendMode: true, isolation: true, borderTopWidth: true, diff --git a/vnext/src-win/index.windows.js b/vnext/src-win/index.windows.js index eb0095f0685..d006c60f854 100644 --- a/vnext/src-win/index.windows.js +++ b/vnext/src-win/index.windows.js @@ -87,6 +87,7 @@ import typeof UTFSequence from './Libraries/UTFSequence'; import typeof * as Appearance from './Libraries/Utilities/Appearance'; import typeof BackHandler from './Libraries/Utilities/BackHandler'; import typeof DeviceInfo from './Libraries/Utilities/DeviceInfo'; +import typeof DevMenu from './src/private/devmenu/DevMenu'; import typeof DevSettings from './Libraries/Utilities/DevSettings'; import typeof Dimensions from './Libraries/Utilities/Dimensions'; import typeof PixelRatio from './Libraries/Utilities/PixelRatio'; @@ -237,6 +238,9 @@ module.exports = { get DeviceInfo(): DeviceInfo { return require('./Libraries/Utilities/DeviceInfo'); }, + get DevMenu(): DevMenu { + return require('./src/private/devmenu/DevMenu'); + }, get DevSettings(): DevSettings { return require('./Libraries/Utilities/DevSettings'); }, diff --git a/yarn.lock b/yarn.lock index 0fd825bd14a..034d1f16f89 100644 --- a/yarn.lock +++ b/yarn.lock @@ -108,7 +108,7 @@ "@babel/highlight" "^7.25.7" picocolors "^1.0.0" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.7": +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.7": version "7.25.7" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.7.tgz#b8479fe0018ef0ac87b6b7a5c6916fcd67ae2c9c" integrity sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw== @@ -175,7 +175,7 @@ "@babel/traverse" "^7.25.7" "@babel/types" "^7.25.7" -"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.7": +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.7": version "7.25.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz#11260ac3322dda0ef53edfae6e97b961449f5fa4" integrity sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A== @@ -465,7 +465,7 @@ "@babel/helper-plugin-utils" "^7.25.7" "@babel/traverse" "^7.25.7" -"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0": +"@babel/plugin-proposal-class-properties@^7.13.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -497,17 +497,6 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-object-rest-spread@^7.0.0": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - "@babel/plugin-proposal-optional-chaining@^7.13.12": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" @@ -536,7 +525,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== @@ -571,7 +560,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.24.7": +"@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz#d1759e84dd4b437cf9fae69b4c06c41d7625bfb7" integrity sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw== @@ -606,7 +595,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.24.7", "@babel/plugin-syntax-jsx@^7.25.7", "@babel/plugin-syntax-jsx@^7.7.2": +"@babel/plugin-syntax-jsx@^7.24.7", "@babel/plugin-syntax-jsx@^7.25.7", "@babel/plugin-syntax-jsx@^7.7.2": version "7.25.7" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz#5352d398d11ea5e7ef330c854dea1dae0bf18165" integrity sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw== @@ -634,7 +623,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -717,7 +706,7 @@ "@babel/helper-plugin-utils" "^7.25.7" "@babel/helper-remap-async-to-generator" "^7.25.7" -"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.25.7": +"@babel/plugin-transform-block-scoped-functions@^7.25.7": version "7.25.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz#e0b8843d5571719a2f1bf7e284117a3379fcc17c" integrity sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ== @@ -768,7 +757,7 @@ "@babel/helper-plugin-utils" "^7.25.7" "@babel/template" "^7.25.7" -"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.0", "@babel/plugin-transform-destructuring@^7.24.8", "@babel/plugin-transform-destructuring@^7.25.7": +"@babel/plugin-transform-destructuring@^7.20.0", "@babel/plugin-transform-destructuring@^7.24.8", "@babel/plugin-transform-destructuring@^7.25.7": version "7.25.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz#f6f26a9feefb5aa41fd45b6f5838901b5333d560" integrity sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA== @@ -822,7 +811,7 @@ "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.24.7", "@babel/plugin-transform-flow-strip-types@^7.25.2": +"@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.24.7", "@babel/plugin-transform-flow-strip-types@^7.25.2": version "7.25.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz#b3aa251db44959b7a7c82abcd6b4225dec7d2258" integrity sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg== @@ -870,7 +859,7 @@ "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.25.7": +"@babel/plugin-transform-member-expression-literals@^7.25.7": version "7.25.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz#0a36c3fbd450cc9e6485c507f005fa3d1bc8fca5" integrity sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw== @@ -953,7 +942,7 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.25.7" -"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.25.7": +"@babel/plugin-transform-object-super@^7.25.7": version "7.25.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz#582a9cea8cf0a1e02732be5b5a703a38dedf5661" integrity sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA== @@ -978,7 +967,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.24.7", "@babel/plugin-transform-parameters@^7.25.7": +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.24.7", "@babel/plugin-transform-parameters@^7.25.7": version "7.25.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz#80c38b03ef580f6d6bffe1c5254bb35986859ac7" integrity sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ== @@ -1003,7 +992,7 @@ "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.25.7": +"@babel/plugin-transform-property-literals@^7.25.7": version "7.25.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz#a8612b4ea4e10430f00012ecf0155662c7d6550d" integrity sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw== @@ -1114,7 +1103,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.25.7": +"@babel/plugin-transform-template-literals@^7.25.7": version "7.25.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz#e566c581bb16d8541dd8701093bb3457adfce16b" integrity sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA== @@ -2595,10 +2584,10 @@ resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.8.1.tgz#0dcfba3ee9e981a384fe2105ca21477ce2d63dc8" integrity sha512-iFhsKQzRh/z3GlmvJWSjJJ4333FdLE/PhXxlGlYllE7sFf+UTzziVY+ajatuJ+R5zDw2AxfJV4v/3tAzUJb0/A== -"@react-native/assets-registry@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.77.0-nightly-20240925-0cb32d5ac.tgz#648ea72d0464a808941369a1292285f24c62498f" - integrity sha512-XDOOcE96r6ju/2tii/AAuUnsPxLDl6wq3bFXaKwDnvMOrxRGxmRMHNrSjD9U8H/uE6EqQ+i256QKKRA/sn0wfQ== +"@react-native/assets-registry@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.77.0-nightly-20241001-223e98cc4.tgz#175bc712b2c62a70aa8c787a9e835c47d02b2be3" + integrity sha512-JNFow49Ev7EXZP5vri2oAK4Ag9vj3tEzV0ovApdCEGFsV6ncagvIQreyaE2OffjpaorVDBfVtqITu0NXPdqqBw== "@react-native/assets@1.0.0": version "1.0.0" @@ -2619,13 +2608,13 @@ dependencies: "@react-native/codegen" "0.76.0-nightly-20240901-305b4357e" -"@react-native/babel-plugin-codegen@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.77.0-nightly-20240925-0cb32d5ac.tgz#5283a215d70d12c70a738996d8c4b94e4792657b" - integrity sha512-vbaG5Gh1o63fhuqlA3reCB0aanf3HTLaY5vJtAeSteIwUfOitJp/KXBjhKIMBmWsbdPR9+51/FOu6T3RZqSJfQ== +"@react-native/babel-plugin-codegen@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.77.0-nightly-20241001-223e98cc4.tgz#bcfd0859769858e1700268a850107d427b70885d" + integrity sha512-5QIgXDz9QyPoV/T7Qe2BHDgETappHJ0N9eGqqmkdeatccAz6gMWUDSWvbLYE4htFcLv20QfKDGaURwFLLAWy4A== dependencies: "@babel/traverse" "^7.25.3" - "@react-native/codegen" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/codegen" "0.77.0-nightly-20241001-223e98cc4" "@react-native/babel-preset@0.76.0-nightly-20240701-9f6cb21ed": version "0.76.0-nightly-20240701-9f6cb21ed" @@ -2729,16 +2718,15 @@ babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" -"@react-native/babel-preset@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.77.0-nightly-20240925-0cb32d5ac.tgz#db713f321d2f44ae36559585d0b6fab763af5361" - integrity sha512-L/NC/Cdeudn+kxcMYWMjrNQnc5b7HyTgT0QSw9Rvlb2JlfnA3t3sovMbPYuf40vwq2iFlBFZl7O32WcKSPFHDA== +"@react-native/babel-preset@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.77.0-nightly-20241001-223e98cc4.tgz#1cf70719350d6e5298b11f336573ff7812779944" + integrity sha512-HASYRXXSpLn8SogsPn/mI9sW/MDOkbwCXaIXK6AkJArwC2MYlfI1WkAEr/AU3nR7F+w5Nx9+1k1k118NiaraNQ== dependencies: "@babel/core" "^7.25.2" "@babel/plugin-proposal-export-default-from" "^7.24.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-default-from" "^7.24.7" - "@babel/plugin-syntax-flow" "^7.24.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-transform-arrow-functions" "^7.24.7" @@ -2776,7 +2764,8 @@ "@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.77.0-nightly-20240925-0cb32d5ac" + "@react-native/babel-plugin-codegen" "0.77.0-nightly-20241001-223e98cc4" + babel-plugin-syntax-hermes-parser "^0.23.1" babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.14.0" @@ -2807,10 +2796,10 @@ nullthrows "^1.1.1" yargs "^17.6.2" -"@react-native/codegen@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.77.0-nightly-20240925-0cb32d5ac.tgz#80ee589a17e3c7ced4eeccf45f5052b91b3a68bf" - integrity sha512-PBdh7Hl8FeaM9YOF3JdtbJTt+JhlOmD6fCXHfuodz9Tx9UMmkKlHg8+CEGBSTjd0YAgtDhHnZMsp+vvGINEVmw== +"@react-native/codegen@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.77.0-nightly-20241001-223e98cc4.tgz#e98bbe7b0caddfa98373321c4f24cbbec8630fb0" + integrity sha512-FPTNkSULaP3kXfaXVr6cdS6Ax0fw1nwzXBo7huNQT12oAIPaYSGHepB9mVMij2n/btTEhZwyP2SrFkDMSAFmKw== dependencies: "@babel/parser" "^7.25.3" glob "^7.1.1" @@ -2820,13 +2809,13 @@ nullthrows "^1.1.1" yargs "^17.6.2" -"@react-native/community-cli-plugin@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.77.0-nightly-20240925-0cb32d5ac.tgz#0e82b7c8c3fedf62da752c7e0b90d943ae8ca1bd" - integrity sha512-zx4UTgIH4yiI1w2HI1XxE1W+/X7YLYmn+SVKsJAN6MrSm16wNhLcIrA64A7rSMJAkeoRL47hlwZIZ8cGZZ3D9Q== +"@react-native/community-cli-plugin@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.77.0-nightly-20241001-223e98cc4.tgz#503f3ebdf4e70cf5d98e6d9e41d1a2cb7f69c1e5" + integrity sha512-xei9DNMB3wSy5RIhSLOb2WcpzDuePZ6xJRgOOMa9zWX71Ojs2DECq4bm2ddl+ItNhHawUxpeI7c9RbIwaAerMQ== dependencies: - "@react-native/dev-middleware" "0.77.0-nightly-20240925-0cb32d5ac" - "@react-native/metro-babel-transformer" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/dev-middleware" "0.77.0-nightly-20241001-223e98cc4" + "@react-native/metro-babel-transformer" "0.77.0-nightly-20241001-223e98cc4" chalk "^4.0.0" execa "^5.1.1" metro "^0.81.0-alpha.0" @@ -2835,18 +2824,18 @@ node-fetch "^2.2.0" readline "^1.3.0" -"@react-native/debugger-frontend@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.77.0-nightly-20240925-0cb32d5ac.tgz#767d74000ff0fbaa4de1db4870b47e94ef3e6d9c" - integrity sha512-IlPvPxkcN2JpRZWbVxV0ow0rX2zvvkZ/p+ohwecH9sFdgO9jvG8FSpVOFA4wJHzEb8NnpFdRgQdHsGGhfK1JeQ== +"@react-native/debugger-frontend@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.77.0-nightly-20241001-223e98cc4.tgz#680c06f6c8fbdad8abefa556af3903bbe39add3a" + integrity sha512-TSB7Er/Ym9br+zaLr4Z+OlbAFpRvCy2DHt6gw11vBLfCGNVtOo6G6MxP9vl5o/Pz67nKdqrn1lKwLjgZyQtJgw== -"@react-native/dev-middleware@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.77.0-nightly-20240925-0cb32d5ac.tgz#b72f20c1fee656246c2bcc251a955e39103c1f8f" - integrity sha512-GpaPm4XvkjQcObKuMOgpWA3xJKlRIn9tuEEw0v5p3dy4PdGMznb1ex1Y0hg0u+Z+In7ysPjqu9qmSj7UomP1rw== +"@react-native/dev-middleware@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.77.0-nightly-20241001-223e98cc4.tgz#3e75849d102f8782fce854976cfead8369a006aa" + integrity sha512-qZDZEn1p1R2RotOedxoKMlS6xOWQ0XuhgTEsTITdYM53cdYoom7z6K/dy0ruGpAMl4+DT6n1H+7UUiPFoygqUg== dependencies: "@isaacs/ttlcache" "^1.4.1" - "@react-native/debugger-frontend" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/debugger-frontend" "0.77.0-nightly-20241001-223e98cc4" chrome-launcher "^0.15.2" chromium-edge-launcher "^0.2.0" connect "^3.6.5" @@ -2880,10 +2869,10 @@ resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.76.0-nightly-20240701-9f6cb21ed.tgz#d64bb11c33665943e7ac80c92182659a3f20d3a4" integrity sha512-M6jRQHL5v+xXEd5ChLqJc/isVmUaSiHiZpodUlu2bGnWTRNxTzx5Ohamp1r9xZGK+bqQ6+J+AQhOUpsCX+K1Lg== -"@react-native/gradle-plugin@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.77.0-nightly-20240925-0cb32d5ac.tgz#699c6d92ff4a9eb711dec7c954d2570426a72ee6" - integrity sha512-MAYjyM5fvYH/ulP5wwrH8EoEtmjaHgK3dX5oU/IECN+y1SAw7NkTExF3eeO5BPrgefqAW7NHSwlh32l/NKXjZg== +"@react-native/gradle-plugin@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.77.0-nightly-20241001-223e98cc4.tgz#4d77353b084d9a5df8921f0823d7ec8cfd8b3ad8" + integrity sha512-mBvoFa6Ge0racPuC7HQ6SZYkjvBvqj5S2g7FDCc8AMKYSE0FcO9TUUKcdpz+Vl6n7kiqTqaYi6IMLs+2VoU9Jw== "@react-native/js-polyfills@0.76.0-nightly-20240701-9f6cb21ed": version "0.76.0-nightly-20240701-9f6cb21ed" @@ -2895,10 +2884,10 @@ resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.76.0-nightly-20240901-305b4357e.tgz#f7526bc704517ea5af23053fce55988243fd7e35" integrity sha512-+yllZ6rN9vFPVYfqgTd2lPPQmVkvE6yL+rqZZwXCXGS9YTC9Td0H9aQ1a6VloqpXPs4qe5LSEKNHcCXY37lhjQ== -"@react-native/js-polyfills@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.77.0-nightly-20240925-0cb32d5ac.tgz#7672f8c6d37f83034b33528400581c4e8f90bee0" - integrity sha512-glNQc7L2nJFpsWg/gqygJCF+8BfhwpCO7zDAs1NLT82otZ90654H6NMXqEYRgJKYnqM2FRq8hhppkJcsMDOqvw== +"@react-native/js-polyfills@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.77.0-nightly-20241001-223e98cc4.tgz#15cee5ac825a6e3c3b53dc3d19f4ea51f4a00b94" + integrity sha512-2Gj943BCVsVfkSUCEs3wUtOT5u1lYm05dLW7giIKd6CLgCKwcLqBdVV8xyEDzh+pr1uEv/QkvGWzgdOgidxDtA== "@react-native/metro-babel-transformer@0.76.0-nightly-20240701-9f6cb21ed": version "0.76.0-nightly-20240701-9f6cb21ed" @@ -2920,13 +2909,13 @@ hermes-parser "0.23.1" nullthrows "^1.1.1" -"@react-native/metro-babel-transformer@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.77.0-nightly-20240925-0cb32d5ac.tgz#5f80a59c4b80826e53900294072085db92fe90c1" - integrity sha512-27fxgLGDR4MkEO0cpHI+NoYq70/Xqwr3C5H9dLiQNBHYgzJBalsglzcVRH/5boy/ql1L5vqHzEIhAzJaXzz+vA== +"@react-native/metro-babel-transformer@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.77.0-nightly-20241001-223e98cc4.tgz#4f41db5432679a816045c3a9ca52d899258e238a" + integrity sha512-EwX4Gbuy3F74QpqXbyNPS04C9mmguH+1N73XijPiFhQiTLftX6y/m+hg4LbJ2sIFa5TOYQTyvCD4AR4DqIUpCA== dependencies: "@babel/core" "^7.25.2" - "@react-native/babel-preset" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/babel-preset" "0.77.0-nightly-20241001-223e98cc4" hermes-parser "0.23.1" nullthrows "^1.1.1" @@ -2950,20 +2939,20 @@ metro-config "^0.80.10" metro-runtime "^0.80.10" -"@react-native/metro-config@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.77.0-nightly-20240925-0cb32d5ac.tgz#0946e7189f31c8eb1e4288dbf0829533cb7fba4e" - integrity sha512-LbW8yAB1hAZvh17YNP2U3cObKwYvIel6UP99ZKmA1pqZTW0EAlBV7pz2nLIeaD3MRLUYoK1eyzKhhBfmDsrNAw== +"@react-native/metro-config@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.77.0-nightly-20241001-223e98cc4.tgz#5f94d73afde10af757818698c097d8846abc9b86" + integrity sha512-s4hPnmy/dRg6D85s0Nlhf7H1x5dptYNPM5B2XnvBO/9vlu+/63k7t3BB9JA7MEA/MXEHKPKTxXuvubs5yhyP9w== dependencies: - "@react-native/js-polyfills" "0.77.0-nightly-20240925-0cb32d5ac" - "@react-native/metro-babel-transformer" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/js-polyfills" "0.77.0-nightly-20241001-223e98cc4" + "@react-native/metro-babel-transformer" "0.77.0-nightly-20241001-223e98cc4" metro-config "^0.81.0-alpha.0" metro-runtime "^0.81.0-alpha.0" -"@react-native/normalize-colors@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.77.0-nightly-20240925-0cb32d5ac.tgz#ccab3e1a8880ac1fd4dff0aaa0d4f5761cec0060" - integrity sha512-M5qWnw70ELsqsHlTnJ+50So30I1vc1lPcIwwvx8zJcyzWmZcUSO/uQyYbjsQkxcjT6RhfqyYhp81JqFsQ1YLPA== +"@react-native/normalize-colors@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.77.0-nightly-20241001-223e98cc4.tgz#7bf9ab057dbb053e20bfc56dcfbadb003940d34f" + integrity sha512-+OSu4GgV9DF+ZfJx1y5cNr3dfAHATaw+6QGqUJsu8WnZCN0Our4ZpblBI/d0BuU2tIP1u921svAv9T85lk9nFQ== "@react-native/popup-menu-android@0.76.0-nightly-20240816-17017d2b8": version "0.76.0-nightly-20240816-17017d2b8" @@ -2972,10 +2961,10 @@ dependencies: nullthrows "^1.1.1" -"@react-native/virtualized-lists@0.77.0-nightly-20240925-0cb32d5ac": - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.77.0-nightly-20240925-0cb32d5ac.tgz#894232d268eb77d48e718add6200c58f1926e268" - integrity sha512-CWNH4Ixjqi0UYNZfwEy82tXejffITKphoA5qpbmcEfQHPEgUvsAcmP0T2ur9NexawBlaQ0ZPPu8OPvIb8dpYmA== +"@react-native/virtualized-lists@0.77.0-nightly-20241001-223e98cc4": + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.77.0-nightly-20241001-223e98cc4.tgz#6ba7f667d17fb14b343f7381e2c8715f31a5792b" + integrity sha512-8vzCufTmYq8dMCiGuPE7KU/noavpOblIcBojQtV938mfE2Ri0FoU9XJMXwOB5+O2np1We2ItNodjkX+P4XkIdA== dependencies: invariant "^2.2.4" nullthrows "^1.1.1" @@ -4679,11 +4668,6 @@ babel-plugin-syntax-hermes-parser@0.23.1, babel-plugin-syntax-hermes-parser@^0.2 dependencies: hermes-parser "0.23.1" -babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: - version "7.0.0-beta.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf" - integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== - babel-plugin-transform-define@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/babel-plugin-transform-define/-/babel-plugin-transform-define-2.1.4.tgz#8f7088211176a55a72788d584ceea9f691a021c1" @@ -4717,39 +4701,6 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-fbjs@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz#38a14e5a7a3b285a3f3a86552d650dca5cf6111c" - integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow== - dependencies: - "@babel/plugin-proposal-class-properties" "^7.0.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/plugin-syntax-class-properties" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - "@babel/plugin-transform-arrow-functions" "^7.0.0" - "@babel/plugin-transform-block-scoped-functions" "^7.0.0" - "@babel/plugin-transform-block-scoping" "^7.0.0" - "@babel/plugin-transform-classes" "^7.0.0" - "@babel/plugin-transform-computed-properties" "^7.0.0" - "@babel/plugin-transform-destructuring" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-for-of" "^7.0.0" - "@babel/plugin-transform-function-name" "^7.0.0" - "@babel/plugin-transform-literals" "^7.0.0" - "@babel/plugin-transform-member-expression-literals" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/plugin-transform-object-super" "^7.0.0" - "@babel/plugin-transform-parameters" "^7.0.0" - "@babel/plugin-transform-property-literals" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-shorthand-properties" "^7.0.0" - "@babel/plugin-transform-spread" "^7.0.0" - "@babel/plugin-transform-template-literals" "^7.0.0" - babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0" - babel-preset-jest@^29.6.3: version "29.6.3" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" @@ -6956,10 +6907,10 @@ flow-bin@^0.245.2: resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.245.2.tgz#ab5cd2115a8b57cc91c0d84add105c7098418f4c" integrity sha512-1rFzkb7OoknVovimQvB+2Dq2vYP+guqSZAb4Cnnh0YsIdAOU7upCwnLHBOhMSXvEp6+J6tDMe9G8KwTAB8aI/g== -flow-bin@^0.246.0: - version "0.246.0" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.246.0.tgz#d08a696e6f796c497f7a7e98b22057dd0df0c38d" - integrity sha512-RB0gaPxrehIE0WoUbUMKgX/XpaY55JbtBhNhix5WzKFIDmRTVojJa+EJEbrTlo2BWRAZnnqOl13wanHmWwb1eA== +flow-bin@^0.247.1: + version "0.247.1" + resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.247.1.tgz#8c8d08fcee11ca43cbb6059edb9933a29bdedc57" + integrity sha512-03wwQ5kPW4CYqhXvxTseMs2v6QuVwCtifVkON2UUyDg6Jp1+CaQpLAZK+sFNzQOExKp0Yvoug+fZOUb33ARwHQ== flow-enums-runtime@^0.0.5: version "0.0.5" @@ -9753,6 +9704,18 @@ metro-transform-plugins@0.81.0-alpha.2: flow-enums-runtime "^0.0.6" nullthrows "^1.1.1" +metro-transform-plugins@^0.80.10: + version "0.80.12" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.80.12.tgz#4a3853630ad0f36cc2bffd53bae659ee171a389c" + integrity sha512-WQWp00AcZvXuQdbjQbx1LzFR31IInlkCDYJNRs6gtEtAyhwpMMlL2KcHmdY+wjDO9RPcliZ+Xl1riOuBecVlPA== + dependencies: + "@babel/core" "^7.20.0" + "@babel/generator" "^7.20.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.20.0" + flow-enums-runtime "^0.0.6" + nullthrows "^1.1.1" + metro-transform-worker@0.80.11: version "0.80.11" resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.80.11.tgz#3f8894b7c3566a8f4bb2f12af4f7c6e5fc61d744" @@ -11121,10 +11084,10 @@ react-clone-referenced-element@^1.0.1: resolved "https://registry.yarnpkg.com/react-clone-referenced-element/-/react-clone-referenced-element-1.1.1.tgz#8d76727dc0459788e461741e804a512d20757381" integrity sha512-LZBPvQV8W0B5dFzXFu+D3Tpil8YHS8tO00iFsfXcTLdtpuH7XyvaHqHcoz4hd4uNPQCZ30fceh+s7mLznzMXvg== -react-devtools-core@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-5.3.1.tgz#d57f5b8f74f16e622bd6a7bc270161e4ba162666" - integrity sha512-7FSb9meX0btdBQLwdFOwt6bGqvRPabmVMMslv8fgoSPqXyuGpgQe36kx8gR86XPw7aV1yVouTp6fyZ0EH+NfUw== +react-devtools-core@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-6.0.0.tgz#a1e3964677fb0c81ca391ed66e5b5d22621d9304" + integrity sha512-VmW+VhR9mR2difSed80BNpYLkYyWYzsZgdLPlakoFPYGiD7fwC36tp4HLw45N4sRqY+Te6ZWD9MVSex8d4gFxg== dependencies: shell-quote "^1.6.1" ws "^7" @@ -11156,19 +11119,19 @@ react-native-xaml@^0.0.78: dependencies: "@types/react" "*" -react-native@0.77.0-nightly-20240925-0cb32d5ac: - version "0.77.0-nightly-20240925-0cb32d5ac" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.77.0-nightly-20240925-0cb32d5ac.tgz#7b9e88c2870b6abd2c146b61577b3e9a8da82fc0" - integrity sha512-ax0TuhDfnGhASVJZ7g80Mws24PDGL9Ks2UQrjpHVkBEHv63iG5WhHTe//sslIK0SID4hQ3M7ZuwfDIMUlNOLfw== +react-native@0.77.0-nightly-20241001-223e98cc4: + version "0.77.0-nightly-20241001-223e98cc4" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.77.0-nightly-20241001-223e98cc4.tgz#ae535f9afee358d6fc6c9cd8c33be2d36d21d6ac" + integrity sha512-iqMj6dA9KV0fiCo6kz0K8nhgNWsh/ypFFQbul+LRwmPM+4H0px9kLZWmH9K+Ps2RVzPpS1tWQXRqYvYtfF52AQ== dependencies: "@jest/create-cache-key-function" "^29.6.3" - "@react-native/assets-registry" "0.77.0-nightly-20240925-0cb32d5ac" - "@react-native/codegen" "0.77.0-nightly-20240925-0cb32d5ac" - "@react-native/community-cli-plugin" "0.77.0-nightly-20240925-0cb32d5ac" - "@react-native/gradle-plugin" "0.77.0-nightly-20240925-0cb32d5ac" - "@react-native/js-polyfills" "0.77.0-nightly-20240925-0cb32d5ac" - "@react-native/normalize-colors" "0.77.0-nightly-20240925-0cb32d5ac" - "@react-native/virtualized-lists" "0.77.0-nightly-20240925-0cb32d5ac" + "@react-native/assets-registry" "0.77.0-nightly-20241001-223e98cc4" + "@react-native/codegen" "0.77.0-nightly-20241001-223e98cc4" + "@react-native/community-cli-plugin" "0.77.0-nightly-20241001-223e98cc4" + "@react-native/gradle-plugin" "0.77.0-nightly-20241001-223e98cc4" + "@react-native/js-polyfills" "0.77.0-nightly-20241001-223e98cc4" + "@react-native/normalize-colors" "0.77.0-nightly-20241001-223e98cc4" + "@react-native/virtualized-lists" "0.77.0-nightly-20241001-223e98cc4" abort-controller "^3.0.0" anser "^1.4.9" ansi-regex "^5.0.0" @@ -11189,7 +11152,7 @@ react-native@0.77.0-nightly-20240925-0cb32d5ac: nullthrows "^1.1.1" pretty-format "^29.7.0" promise "^8.3.0" - react-devtools-core "^5.3.1" + react-devtools-core "^6.0.0" react-refresh "^0.14.0" regenerator-runtime "^0.13.2" scheduler "0.25.0-rc-fb9a90fa48-20240614" From 1abdcf5322327d6cf4a730ad61bd14053b62a214 Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Mon, 7 Oct 2024 15:10:06 -0700 Subject: [PATCH 03/13] fix validate-overrides --- .../react-native-win32/overrides.json | 5 +-- .../DevToolsSettingsManager.win32.js | 25 +++--------- .../bottom-nav-playgrounds-icon-dark.png | Bin 0 -> 921 bytes .../bottom-nav-playgrounds-icon-light.png | Bin 0 -> 921 bytes .../tester/js/components/RNTesterNavbar.js | 36 ++++++++++++++++-- .../tester/js/components/RNTesterTheme.js | 6 +++ .../Accessibility/AccessibilityExample.js | 8 ++-- .../PointerEventClickTouch.js | 5 --- .../PointerEventPointerOverOut.js | 2 +- .../tester/js/examples/Modal/ModalOnShow.js | 13 ++++--- .../js/examples/Modal/ModalPresentation.js | 22 ++++++----- .../Performance/PerformanceApiExample.js | 2 +- .../tester/js/types/RNTesterTypes.js | 2 +- packages/@react-native/tester/overrides.json | 2 - .../integrate-rn/src/runCommand.ts | 1 + vnext/overrides.json | 5 +-- .../DevToolsSettingsManager.windows.js | 25 +++--------- 17 files changed, 80 insertions(+), 79 deletions(-) create mode 100644 packages/@react-native/tester/js/assets/bottom-nav-playgrounds-icon-dark.png create mode 100644 packages/@react-native/tester/js/assets/bottom-nav-playgrounds-icon-light.png diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index eac77e65339..3164cc6acdb 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -227,9 +227,8 @@ { "type": "copy", "file": "src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js", - "baseFile": "packages/react-native/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js", - "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", - "baseHash": "1c9eb481e8ed077fa650e3ea34837e2a31310366" + "baseFile": "packages/react-native/src/private/reactdevtools/ReactDevToolsSettingsManager.android.js", + "baseHash": "df41b76dc3d2df9455fae588748261d7b0a22d01" }, { "type": "platform", diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js b/packages/@office-iss/react-native-win32/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js index f5399c48e19..e80d4c32b44 100644 --- a/packages/@office-iss/react-native-win32/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +++ b/packages/@office-iss/react-native-win32/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js @@ -8,28 +8,13 @@ * @format */ -import DevSettings from '../Utilities/DevSettings'; -import NativeDevToolsSettingsManager from './NativeDevToolsSettingsManager'; +import NativeReactDevToolsSettingsManager from '../specs/modules/NativeReactDevToolsSettingsManager'; module.exports = { - setConsolePatchSettings(newSettings: string) { - NativeDevToolsSettingsManager?.setConsolePatchSettings(newSettings); + setGlobalHookSettings(settings: string) { + NativeReactDevToolsSettingsManager?.setGlobalHookSettings(settings); }, - getConsolePatchSettings(): ?string { - return NativeDevToolsSettingsManager?.getConsolePatchSettings(); - }, - setProfilingSettings(newSettings: string) { - if (NativeDevToolsSettingsManager?.setProfilingSettings != null) { - NativeDevToolsSettingsManager.setProfilingSettings(newSettings); - } - }, - getProfilingSettings(): ?string { - if (NativeDevToolsSettingsManager?.getProfilingSettings != null) { - return NativeDevToolsSettingsManager.getProfilingSettings(); - } - return null; - }, - reload(): void { - DevSettings?.reload(); + getGlobalHookSettings(): ?string { + return NativeReactDevToolsSettingsManager?.getGlobalHookSettings(); }, }; diff --git a/packages/@react-native/tester/js/assets/bottom-nav-playgrounds-icon-dark.png b/packages/@react-native/tester/js/assets/bottom-nav-playgrounds-icon-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..b027c5abbb08c774035821fa3261cde933f01cd5 GIT binary patch literal 921 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZK##_=LCy28GZ9{r~^}*Su#hfwst$1o;IsI5Y&z z_g|p!et*LK0)hDc^9B>@*XJuTI^O&D?qD)2$ODW?-tI24ubB%c0y&%o9+AZi42l*Y z%;-AJFaapYUgGKN%Km~=TuhKzC2ev6P|s~o7srr@!*6F?EIOnh;M%%G$RS6?ZS~Xt z`!@$SYPQ`?y}Z%5_C)QGCn-0pSts3n=dY@=uC*iG;FX1%|eC#uY;Wb^i;pMM|9H@zgd;e}39-9Gn;(v6OW+p02`gvGXsnw+@x zVhdM8{Z7t@Ulv$?_!dxd;@qyD`O_laB&1#=L5YYeY#(Vo9o1a#1RfVlXl=GSM}#)HN~=F*33;u&^>T z&^9ozGBD6RT00FzLvDUbW?ChR2B11)D^nAQhAoN<>wy|H;5L+G=B5^xB<2>N=rOV~ ZGzV&f=sD(9wHv61!PC{xWt~$(695!hZQcL? literal 0 HcmV?d00001 diff --git a/packages/@react-native/tester/js/assets/bottom-nav-playgrounds-icon-light.png b/packages/@react-native/tester/js/assets/bottom-nav-playgrounds-icon-light.png new file mode 100644 index 0000000000000000000000000000000000000000..23377fb92997d920ca5ba5e97dfebad6163b18ab GIT binary patch literal 921 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZK##_=LD_+Omrl=>Px!$}eS|fVRk#1o;IsI5Y&z z_g|p!et*LK0)hDc^9B>@*XJuTI^O&D?qD)2$ODW?-tI24ubB%c0y&%o9+AZi42l*Y z%;-AJFaapYUgGKN%Km~=Tugvt)%xn4Ks~oTT^vIq4!@movFMP3fNSd#A%`3lx7APo z@82BUsM&Tm_3}pJ+7q=$o}}EYW}S5RoxiHe!oKq_nODv`{nE*~iF1#==aa^zjZE|L1ed%N#%c+W61)c)Xv_1UKQy zd^Tq|9ImDRG!^ui%clG$h{fXXJdeq$56Q#;1c-Qn=6By;a2#>)-scU_gzs4>)j z-5cOlVmH0xoAv%?o~SaXlFi$Xe*S$Z-}I8;h8H?bb^F{WN;f(hZmY^%5*FJkYI5S% zi!EFY^*cEqepz7o;afn-iF3Pp=1+@wlcd9TWz+lP-8biNy|&lHrGho>PGcWiSkT?P z`(1y7E?UI*9uJYW)7Z8Vh-?Jum}IuriBo2mI781t$nt`Q|Ei6yC4$wjF^iowXh$VAt`QrE~h#K_3Xz{1MV zK-<8;%D_PPXzer<4Y~O#nQ4_M8i4AItxQcI8n!4dtOsh)fZI@#nVVW%l9*e7qQ}U} Y&mdKI;Vst02jH9$N&HU literal 0 HcmV?d00001 diff --git a/packages/@react-native/tester/js/components/RNTesterNavbar.js b/packages/@react-native/tester/js/components/RNTesterNavbar.js index 2f0621e4a34..3b112b14970 100644 --- a/packages/@react-native/tester/js/components/RNTesterNavbar.js +++ b/packages/@react-native/tester/js/components/RNTesterNavbar.js @@ -9,11 +9,14 @@ */ import type {RNTesterTheme} from './RNTesterTheme'; +import type {ScreenTypes} from '../types/RNTesterTypes'; import {RNTesterThemeContext} from './RNTesterTheme'; import * as React from 'react'; import {Image, Pressable, StyleSheet, Text, View} from 'react-native'; +type NavBarOnPressHandler = ({screen: ScreenTypes}) => void; + /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's * LTI update could not be added via codemod */ const NavbarButton = ({ @@ -54,7 +57,7 @@ const ComponentTab = ({ handleNavBarPress, theme, }: $TEMPORARY$object<{ - handleNavBarPress: (data: {screen: string}) => void, + handleNavBarPress: NavBarOnPressHandler, isComponentActive: boolean, theme: RNTesterTheme, }>) => ( @@ -70,12 +73,33 @@ const ComponentTab = ({ /> ); +const PlaygroundTab = ({ + isComponentActive, + handleNavBarPress, + theme, +}: $TEMPORARY$object<{ + handleNavBarPress: NavBarOnPressHandler, + isComponentActive: boolean, + theme: RNTesterTheme, +}>) => ( + handleNavBarPress({screen: 'playgrounds'})} + activeImage={theme.NavBarPlaygroundActiveIcon} + inactiveImage={theme.NavBarPlaygroundInactiveIcon} + isActive={isComponentActive} + theme={theme} + iconStyle={styles.componentIcon} + /> +); + const APITab = ({ isAPIActive, handleNavBarPress, theme, }: $TEMPORARY$object<{ - handleNavBarPress: (data: {screen: string}) => void, + handleNavBarPress: NavBarOnPressHandler, isAPIActive: boolean, theme: RNTesterTheme, }>) => ( @@ -92,7 +116,7 @@ const APITab = ({ ); type Props = $ReadOnly<{| - handleNavBarPress: (data: {screen: string}) => void, + handleNavBarPress: NavBarOnPressHandler, screen: string, isExamplePageOpen: boolean, |}>; @@ -106,6 +130,7 @@ const RNTesterNavbar = ({ const isAPIActive = screen === 'apis' && !isExamplePageOpen; const isComponentActive = screen === 'components' && !isExamplePageOpen; + const isPlaygroundActive = screen === 'playgrounds'; return ( @@ -115,6 +140,11 @@ const RNTesterNavbar = ({ handleNavBarPress={handleNavBarPress} theme={theme} /> + { max: 100, }}> - Fake Slider + Fake Slider {this.state.current} { accessibilityValue={{text: this.state.textualValue}}> - Equalizer + Equalizer {this.state.textualValue} @@ -1335,7 +1335,7 @@ class FakeSliderExampleForAccessibilityValue extends React.Component< aria-valuetext={'slider aria value text'} aria-valuenow={this.state.current}> - Fake Slider + Fake Slider {this.state.current} - Equalizer + Equalizer {this.state.textualValue} diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js index 69d448082c8..627d913990e 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventClickTouch.js @@ -33,11 +33,6 @@ function checkClickEventProperties( assert_equals(event.nativeEvent.tiltX, 0, 'default tiltX is 0'); assert_equals(event.nativeEvent.tiltY, 0, 'default tiltY is 0'); assert_equals(event.nativeEvent.twist, 0, 'default twist is 0'); - assert_equals( - event.nativeEvent.isPrimary, - false, - 'default isPrimary is false', - ); } function PointerEventClickTouchTestCase(props: PlatformTestComponentBaseProps) { diff --git a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js index 5358381de5d..6ffc64c010f 100644 --- a/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js +++ b/packages/@react-native/tester/js/examples/Experimental/W3CPointerEventPlatformTests/PointerEventPointerOverOut.js @@ -26,7 +26,7 @@ function getNativeTagFromHostElement( } if (elem != null) { // $FlowExpectedError - accessing non-public property - return elem._nativeTag; + return elem.__nativeTag; } return undefined; } diff --git a/packages/@react-native/tester/js/examples/Modal/ModalOnShow.js b/packages/@react-native/tester/js/examples/Modal/ModalOnShow.js index 8ef9764794a..ae4315cc440 100644 --- a/packages/@react-native/tester/js/examples/Modal/ModalOnShow.js +++ b/packages/@react-native/tester/js/examples/Modal/ModalOnShow.js @@ -11,13 +11,14 @@ import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; import * as React from 'react'; +import {useState} from 'react'; import {Modal, Pressable, StyleSheet, Text, View} from 'react-native'; function ModalOnShowOnDismiss(): React.Node { - const [modalShowComponent, setModalShowComponent] = React.useState(true); - const [modalVisible, setModalVisible] = React.useState(false); - const [onShowCount, setOnShowCount] = React.useState(0); - const [onDismissCount, setOnDismissCount] = React.useState(0); + const [modalShowComponent, setModalShowComponent] = useState(true); + const [modalVisible, setModalVisible] = useState(false); + const [onShowCount, setOnShowCount] = useState(0); + const [onDismissCount, setOnDismissCount] = useState(0); return ( @@ -27,10 +28,10 @@ function ModalOnShowOnDismiss(): React.Node { transparent={true} visible={modalVisible} onShow={() => { - setOnShowCount(onShowCount + 1); + setOnShowCount(showCount => showCount + 1); }} onDismiss={() => { - setOnDismissCount(onDismissCount + 1); + setOnDismissCount(dismissCount => dismissCount + 1); }} onRequestClose={() => { setModalVisible(false); diff --git a/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js b/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js index d800fd70317..872fbb59a7f 100644 --- a/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js +++ b/packages/@react-native/tester/js/examples/Modal/ModalPresentation.js @@ -15,6 +15,7 @@ import type {Props as ModalProps} from 'react-native/Libraries/Modal/Modal'; import RNTOption from '../../components/RNTOption'; import * as React from 'react'; +import {useCallback, useState} from 'react'; import {Modal, Platform, StyleSheet, Switch, Text, View} from 'react-native'; const RNTesterButton = require('../../components/RNTesterButton'); @@ -37,19 +38,19 @@ const supportedOrientations = [ const backdropColors = ['red', 'blue', undefined]; function ModalPresentation() { - const onDismiss = React.useCallback(() => { + const onDismiss = useCallback(() => { alert('onDismiss'); }, []); - const onShow = React.useCallback(() => { + const onShow = useCallback(() => { alert('onShow'); }, []); - const onRequestClose = React.useCallback(() => { + const onRequestClose = useCallback(() => { console.log('onRequestClose'); }, []); - const [props, setProps] = React.useState({ + const [props, setProps] = useState({ animationType: 'none', transparent: false, hardwareAccelerated: false, @@ -72,11 +73,12 @@ function ModalPresentation() { const statusBarTranslucent = props.statusBarTranslucent; const backdropColor = props.backdropColor; - const [currentOrientation, setCurrentOrientation] = React.useState('unknown'); + const [currentOrientation, setCurrentOrientation] = useState('unknown'); - /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's - * LTI update could not be added via codemod */ - const onOrientationChange = event => + type OrientationChangeEvent = Parameters< + $NonMaybeType['onOrientationChange']>, + >[0]; + const onOrientationChange = (event: OrientationChangeEvent) => setCurrentOrientation(event.nativeEvent.orientation); const controls = ( @@ -220,9 +222,9 @@ function ModalPresentation() { {backdropColors.map(type => ( setProps(prev => ({ diff --git a/packages/@react-native/tester/js/examples/Performance/PerformanceApiExample.js b/packages/@react-native/tester/js/examples/Performance/PerformanceApiExample.js index 2129b8624c5..d051b1e6b9e 100644 --- a/packages/@react-native/tester/js/examples/Performance/PerformanceApiExample.js +++ b/packages/@react-native/tester/js/examples/Performance/PerformanceApiExample.js @@ -167,7 +167,7 @@ function PerformanceObserverEventTimingExample(): React.Node { setEntries(newEntries); }); - observer.observe({entryTypes: ['event']}); + observer.observe({type: 'event'}); return () => observer.disconnect(); }, []); diff --git a/packages/@react-native/tester/js/types/RNTesterTypes.js b/packages/@react-native/tester/js/types/RNTesterTypes.js index 53500cc1fa0..1e24f41da47 100644 --- a/packages/@react-native/tester/js/types/RNTesterTypes.js +++ b/packages/@react-native/tester/js/types/RNTesterTypes.js @@ -53,7 +53,7 @@ export type ExamplesList = $ReadOnly<{| apis: $ReadOnlyArray>, |}>; -export type ScreenTypes = 'components' | 'apis' | null; +export type ScreenTypes = 'components' | 'apis' | 'playgrounds' | null; export type ComponentList = null | {components: string[], apis: string[]}; diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json index fa03e09168f..a6ce66ae7c0 100644 --- a/packages/@react-native/tester/overrides.json +++ b/packages/@react-native/tester/overrides.json @@ -19,7 +19,6 @@ "type": "copy", "directory": "js/examples/Accessibility", "baseDirectory": "packages/rn-tester/js/examples/Accessibility", - "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "baseHash": "8679456302662e4ce453c6bb41740a8739d3b5f0", "issue": 4054 }, @@ -209,7 +208,6 @@ "type": "copy", "directory": "js/examples/Modal", "baseDirectory": "packages/rn-tester/js/examples/Modal", - "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", "baseHash": "e4cbd489c88782d6d22aa7cbd404bf4e522b480c", "issue": 4054 }, diff --git a/packages/@rnw-scripts/integrate-rn/src/runCommand.ts b/packages/@rnw-scripts/integrate-rn/src/runCommand.ts index 6215bf421b9..4f01ae20be5 100644 --- a/packages/@rnw-scripts/integrate-rn/src/runCommand.ts +++ b/packages/@rnw-scripts/integrate-rn/src/runCommand.ts @@ -15,6 +15,7 @@ export default async function runCommand( command: string, opts: ExecOptions = {}, ): Promise<{stdout: string; stderr: string}> { + opts.maxBuffer = 10 * 1024 * 1024; // 10 MB if (!opts.cwd) { opts.cwd = await findRepoRoot(); } diff --git a/vnext/overrides.json b/vnext/overrides.json index 478512b25e4..12212936c22 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -472,9 +472,8 @@ { "type": "copy", "file": "src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js", - "baseFile": "packages/react-native/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js", - "baseVersion": "0.77.0-nightly-20240925-0cb32d5ac", - "baseHash": "1c9eb481e8ed077fa650e3ea34837e2a31310366" + "baseFile": "packages/react-native/src/private/reactdevtools/ReactDevToolsSettingsManager.android.js", + "baseHash": "df41b76dc3d2df9455fae588748261d7b0a22d01" }, { "type": "platform", diff --git a/vnext/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js b/vnext/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js index f5399c48e19..e80d4c32b44 100644 --- a/vnext/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +++ b/vnext/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js @@ -8,28 +8,13 @@ * @format */ -import DevSettings from '../Utilities/DevSettings'; -import NativeDevToolsSettingsManager from './NativeDevToolsSettingsManager'; +import NativeReactDevToolsSettingsManager from '../specs/modules/NativeReactDevToolsSettingsManager'; module.exports = { - setConsolePatchSettings(newSettings: string) { - NativeDevToolsSettingsManager?.setConsolePatchSettings(newSettings); + setGlobalHookSettings(settings: string) { + NativeReactDevToolsSettingsManager?.setGlobalHookSettings(settings); }, - getConsolePatchSettings(): ?string { - return NativeDevToolsSettingsManager?.getConsolePatchSettings(); - }, - setProfilingSettings(newSettings: string) { - if (NativeDevToolsSettingsManager?.setProfilingSettings != null) { - NativeDevToolsSettingsManager.setProfilingSettings(newSettings); - } - }, - getProfilingSettings(): ?string { - if (NativeDevToolsSettingsManager?.getProfilingSettings != null) { - return NativeDevToolsSettingsManager.getProfilingSettings(); - } - return null; - }, - reload(): void { - DevSettings?.reload(); + getGlobalHookSettings(): ?string { + return NativeReactDevToolsSettingsManager?.getGlobalHookSettings(); }, }; From 1b288eda4039c03ae366d7af70cc13f86ee091ed Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Mon, 7 Oct 2024 15:16:22 -0700 Subject: [PATCH 04/13] Change files --- ...-native-win32-2d07f553-9add-4253-9cc5-4ca4e0d15886.json | 7 +++++++ ...ation-channel-fb4516ce-25c4-411e-a799-9faa152a9fba.json | 7 +++++++ ...-integrate-rn-f35c1fab-4437-4fe8-afd7-645bea940939.json | 7 +++++++ ...ative-windows-cfd2a167-6d85-4883-82f6-0828a66802ff.json | 7 +++++++ 4 files changed, 28 insertions(+) create mode 100644 change/@office-iss-react-native-win32-2d07f553-9add-4253-9cc5-4ca4e0d15886.json create mode 100644 change/@react-native-windows-automation-channel-fb4516ce-25c4-411e-a799-9faa152a9fba.json create mode 100644 change/@rnw-scripts-integrate-rn-f35c1fab-4437-4fe8-afd7-645bea940939.json create mode 100644 change/react-native-windows-cfd2a167-6d85-4883-82f6-0828a66802ff.json diff --git a/change/@office-iss-react-native-win32-2d07f553-9add-4253-9cc5-4ca4e0d15886.json b/change/@office-iss-react-native-win32-2d07f553-9add-4253-9cc5-4ca4e0d15886.json new file mode 100644 index 00000000000..9c0f06c6caa --- /dev/null +++ b/change/@office-iss-react-native-win32-2d07f553-9add-4253-9cc5-4ca4e0d15886.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "integrate rn nightly 0.77.0-nightly-20241001-223e98cc4", + "packageName": "@office-iss/react-native-win32", + "email": "tatianakapos@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@react-native-windows-automation-channel-fb4516ce-25c4-411e-a799-9faa152a9fba.json b/change/@react-native-windows-automation-channel-fb4516ce-25c4-411e-a799-9faa152a9fba.json new file mode 100644 index 00000000000..56e17f70350 --- /dev/null +++ b/change/@react-native-windows-automation-channel-fb4516ce-25c4-411e-a799-9faa152a9fba.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "integrate rn nightly 0.77.0-nightly-20241001-223e98cc4", + "packageName": "@react-native-windows/automation-channel", + "email": "tatianakapos@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@rnw-scripts-integrate-rn-f35c1fab-4437-4fe8-afd7-645bea940939.json b/change/@rnw-scripts-integrate-rn-f35c1fab-4437-4fe8-afd7-645bea940939.json new file mode 100644 index 00000000000..e568334a9aa --- /dev/null +++ b/change/@rnw-scripts-integrate-rn-f35c1fab-4437-4fe8-afd7-645bea940939.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "integrate rn nightly 0.77.0-nightly-20241001-223e98cc4", + "packageName": "@rnw-scripts/integrate-rn", + "email": "tatianakapos@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/react-native-windows-cfd2a167-6d85-4883-82f6-0828a66802ff.json b/change/react-native-windows-cfd2a167-6d85-4883-82f6-0828a66802ff.json new file mode 100644 index 00000000000..7f8597d47a0 --- /dev/null +++ b/change/react-native-windows-cfd2a167-6d85-4883-82f6-0828a66802ff.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "integrate rn nightly 0.77.0-nightly-20241001-223e98cc4", + "packageName": "react-native-windows", + "email": "tatianakapos@microsoft.com", + "dependentChangeType": "patch" +} From e540403c173c3742c1d34a77aa3ebcfbb5f4cd9c Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Mon, 7 Oct 2024 15:49:45 -0700 Subject: [PATCH 05/13] fix build --- vnext/ReactCommon/ReactCommon.vcxproj | 4 + .../timeline/PerformanceEntryReporter.cpp | 213 ++++++++++++++++++ vnext/Shared/Shared.vcxitems | 4 + 3 files changed, 221 insertions(+) create mode 100644 vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.cpp diff --git a/vnext/ReactCommon/ReactCommon.vcxproj b/vnext/ReactCommon/ReactCommon.vcxproj index 01ce9424ec7..e9aece14f08 100644 --- a/vnext/ReactCommon/ReactCommon.vcxproj +++ b/vnext/ReactCommon/ReactCommon.vcxproj @@ -168,6 +168,10 @@ + + + + Create diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.cpp new file mode 100644 index 00000000000..2baa031f3d9 --- /dev/null +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.cpp @@ -0,0 +1,213 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +#include "PerformanceEntryReporter.h" + +#include + +namespace facebook::react { + +std::shared_ptr& +PerformanceEntryReporter::getInstance() { + static auto instance = std::make_shared(); + return instance; +} + +PerformanceEntryReporter::PerformanceEntryReporter() + : observerRegistry_(std::make_unique()) {} + +DOMHighResTimeStamp PerformanceEntryReporter::getCurrentTimeStamp() const { + return timeStampProvider_ != nullptr ? timeStampProvider_() + : JSExecutor::performanceNow(); +} + +uint32_t PerformanceEntryReporter::getDroppedEntriesCount( + PerformanceEntryType type) const noexcept { + return (uint32_t)getBuffer(type).droppedEntriesCount; // [Windows #13939] +} + +void PerformanceEntryReporter::mark( + const std::string& name, + const std::optional& startTime) { + const auto entry = PerformanceEntry{ + .name = name, + .entryType = PerformanceEntryType::MARK, + .startTime = startTime ? *startTime : getCurrentTimeStamp()}; + + { + std::lock_guard lock(buffersMutex_); + markBuffer_.add(entry); + } + + observerRegistry_->queuePerformanceEntry(entry); +} + +void PerformanceEntryReporter::clearEntries( + std::optional entryType, + std::optional entryName) { + std::lock_guard lock(buffersMutex_); + + // Clear all entry types + if (!entryType) { + if (entryName.has_value()) { + markBuffer_.clear(*entryName); + measureBuffer_.clear(*entryName); + eventBuffer_.clear(*entryName); + longTaskBuffer_.clear(*entryName); + } else { + markBuffer_.clear(); + measureBuffer_.clear(); + eventBuffer_.clear(); + longTaskBuffer_.clear(); + } + return; + } + + auto& buffer = getBufferRef(*entryType); + if (entryName.has_value()) { + buffer.clear(*entryName); + } else { + buffer.clear(); + } +} + +std::vector PerformanceEntryReporter::getEntries() const { + std::vector res; + // Collect all entry types + for (int i = 1; i <= NUM_PERFORMANCE_ENTRY_TYPES; i++) { + getBuffer(static_cast(i)).getEntries(res); + } + return res; +} + +std::vector PerformanceEntryReporter::getEntriesByType( + PerformanceEntryType entryType) const { + std::vector res; + getEntriesByType(entryType, res); + return res; +} + +void PerformanceEntryReporter::getEntriesByType( + PerformanceEntryType entryType, + std::vector& target) const { + getBuffer(entryType).getEntries(target); +} + +std::vector PerformanceEntryReporter::getEntriesByName( + std::string_view entryName) const { + std::vector res; + // Collect all entry types + for (int i = 1; i <= NUM_PERFORMANCE_ENTRY_TYPES; i++) { + getBuffer(static_cast(i)).getEntries(entryName, res); + } + return res; +} + +std::vector PerformanceEntryReporter::getEntriesByName( + std::string_view entryName, + PerformanceEntryType entryType) const { + std::vector res; + getBuffer(entryType).getEntries(entryName, res); + return res; +} + +void PerformanceEntryReporter::measure( + const std::string_view& name, + DOMHighResTimeStamp startTime, + DOMHighResTimeStamp endTime, + const std::optional& duration, + const std::optional& startMark, + const std::optional& endMark) { + DOMHighResTimeStamp startTimeVal = + startMark ? getMarkTime(*startMark) : startTime; + DOMHighResTimeStamp endTimeVal = endMark ? getMarkTime(*endMark) : endTime; + + if (!endMark && endTime < startTimeVal) { + // The end time is not specified, take the current time, according to the + // standard + endTimeVal = getCurrentTimeStamp(); + } + + DOMHighResTimeStamp durationVal = + duration ? *duration : endTimeVal - startTimeVal; + + const auto entry = PerformanceEntry{ + .name = std::string(name), + .entryType = PerformanceEntryType::MEASURE, + .startTime = startTimeVal, + .duration = durationVal}; + + { + std::lock_guard lock(buffersMutex_); + measureBuffer_.add(entry); + } + + observerRegistry_->queuePerformanceEntry(entry); +} + +DOMHighResTimeStamp PerformanceEntryReporter::getMarkTime( + const std::string& markName) const { + std::lock_guard lock(buffersMutex_); + + if (auto it = markBuffer_.find(markName); it) { + return it->startTime; + } else { + return 0.0; + } +} + +void PerformanceEntryReporter::logEventEntry( + std::string name, + DOMHighResTimeStamp startTime, + DOMHighResTimeStamp duration, + DOMHighResTimeStamp processingStart, + DOMHighResTimeStamp processingEnd, + uint32_t interactionId) { + eventCounts_[name]++; + + const auto entry = PerformanceEntry{ + .name = std::move(name), + .entryType = PerformanceEntryType::EVENT, + .startTime = startTime, + .duration = duration, + .processingStart = processingStart, + .processingEnd = processingEnd, + .interactionId = interactionId}; + + { + std::lock_guard lock(buffersMutex_); + + if (entry.duration < eventBuffer_.durationThreshold) { + // The entries duration is lower than the desired reporting threshold, + // skip + return; + } + + eventBuffer_.add(entry); + } + + observerRegistry_->queuePerformanceEntry(entry); +} + +void PerformanceEntryReporter::logLongTaskEntry( + DOMHighResTimeStamp startTime, + DOMHighResTimeStamp duration) { + const auto entry = PerformanceEntry{ + .name = std::string{"self"}, + .entryType = PerformanceEntryType::LONGTASK, + .startTime = startTime, + .duration = duration}; + + { + std::lock_guard lock(buffersMutex_); + longTaskBuffer_.add(entry); + } + + observerRegistry_->queuePerformanceEntry(entry); +} + +} // namespace facebook::react \ No newline at end of file diff --git a/vnext/Shared/Shared.vcxitems b/vnext/Shared/Shared.vcxitems index 1d7b31ad7c9..238f64f11ce 100644 --- a/vnext/Shared/Shared.vcxitems +++ b/vnext/Shared/Shared.vcxitems @@ -658,6 +658,10 @@ + + + + From cc5e7a7dd9c0cb1bcc745f3341b604730792158c Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Mon, 7 Oct 2024 16:30:41 -0700 Subject: [PATCH 06/13] fix playground --- .../react-native-win32/overrides.json | 2 +- .../ReactDevToolsSettingsManager.win32.js} | 0 .../examples/Playground/PlaygroundExample.js | 18 ++++++++++ .../examples/Playground/RNTesterPlayground.js | 35 +++++++++++++++++++ vnext/overrides.json | 2 +- .../ReactDevToolsSettingsManager.windows.js} | 0 6 files changed, 55 insertions(+), 2 deletions(-) rename packages/@office-iss/react-native-win32/src-win/{Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js => src/private/reactdevtools/ReactDevToolsSettingsManager.win32.js} (100%) create mode 100644 packages/@react-native/tester/js/examples/Playground/PlaygroundExample.js create mode 100644 packages/@react-native/tester/js/examples/Playground/RNTesterPlayground.js rename vnext/src-win/{Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js => src/private/reactdevtools/ReactDevToolsSettingsManager.windows.js} (100%) diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index 3164cc6acdb..ece29b10f23 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -226,7 +226,7 @@ }, { "type": "copy", - "file": "src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js", + "file": "src/private/reactdevtools/ReactDevToolsSettingsManager.win32.js", "baseFile": "packages/react-native/src/private/reactdevtools/ReactDevToolsSettingsManager.android.js", "baseHash": "df41b76dc3d2df9455fae588748261d7b0a22d01" }, diff --git a/packages/@office-iss/react-native-win32/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js b/packages/@office-iss/react-native-win32/src-win/src/private/reactdevtools/ReactDevToolsSettingsManager.win32.js similarity index 100% rename from packages/@office-iss/react-native-win32/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js rename to packages/@office-iss/react-native-win32/src-win/src/private/reactdevtools/ReactDevToolsSettingsManager.win32.js diff --git a/packages/@react-native/tester/js/examples/Playground/PlaygroundExample.js b/packages/@react-native/tester/js/examples/Playground/PlaygroundExample.js new file mode 100644 index 00000000000..a39b613cc75 --- /dev/null +++ b/packages/@react-native/tester/js/examples/Playground/PlaygroundExample.js @@ -0,0 +1,18 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + * @flow strict-local + */ + +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + +import Playground from './RNTesterPlayground'; + +export const title = Playground.title; +export const framework = 'React'; +export const description = 'Test out new features and ideas.'; +export const examples: Array = [Playground]; diff --git a/packages/@react-native/tester/js/examples/Playground/RNTesterPlayground.js b/packages/@react-native/tester/js/examples/Playground/RNTesterPlayground.js new file mode 100644 index 00000000000..01613e09377 --- /dev/null +++ b/packages/@react-native/tester/js/examples/Playground/RNTesterPlayground.js @@ -0,0 +1,35 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict-local + * @format + * @oncall react_native + */ + +import type {RNTesterModuleExample} from '../../types/RNTesterTypes'; + +import * as React from 'react'; +import {StyleSheet, Text, View} from 'react-native'; + +function Playground() { + return ( + + Edit "RNTesterPlayground.js" to change this file + + ); +} + +const styles = StyleSheet.create({ + container: { + padding: 10, + }, +}); + +export default ({ + title: 'Playground', + name: 'playground', + render: (): React.Node => , +}: RNTesterModuleExample); diff --git a/vnext/overrides.json b/vnext/overrides.json index 12212936c22..3ed4b4417f4 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -471,7 +471,7 @@ }, { "type": "copy", - "file": "src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js", + "file": "src/private/reactdevtools/ReactDevToolsSettingsManager.windows.js", "baseFile": "packages/react-native/src/private/reactdevtools/ReactDevToolsSettingsManager.android.js", "baseHash": "df41b76dc3d2df9455fae588748261d7b0a22d01" }, diff --git a/vnext/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js b/vnext/src-win/src/private/reactdevtools/ReactDevToolsSettingsManager.windows.js similarity index 100% rename from vnext/src-win/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js rename to vnext/src-win/src/private/reactdevtools/ReactDevToolsSettingsManager.windows.js From ddbd2f713e6024832890838672f67488a89a9e8a Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Mon, 7 Oct 2024 16:55:24 -0700 Subject: [PATCH 07/13] fix composition --- .../timeline/PerformanceEntryReporter.h | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.h diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.h b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.h new file mode 100644 index 00000000000..edfeefb6e42 --- /dev/null +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.h @@ -0,0 +1,159 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +#pragma once + +#include +#include +#include +#include +#include "PerformanceEntryCircularBuffer.h" +#include "PerformanceEntryKeyedBuffer.h" +#include "PerformanceObserverRegistry.h" + +namespace facebook::react { + +constexpr size_t EVENT_BUFFER_SIZE = 150; +constexpr size_t LONG_TASK_BUFFER_SIZE = 200; + +constexpr DOMHighResTimeStamp LONG_TASK_DURATION_THRESHOLD_MS = 50.0; + +class PerformanceEntryReporter { + public: + PerformanceEntryReporter(); + + // NOTE: This class is not thread safe, make sure that the calls are made from + // the same thread. + // TODO: Consider passing it as a parameter to the corresponding modules at + // creation time instead of having the singleton. + static std::shared_ptr& getInstance(); + + PerformanceObserverRegistry& getObserverRegistry() { + return *observerRegistry_; + } + + uint32_t getDroppedEntriesCount(PerformanceEntryType type) const noexcept; + + /* + * DOM Performance (High Resolution Time) + * https://www.w3.org/TR/hr-time-3/#dom-performance + */ + // https://www.w3.org/TR/hr-time-3/#now-method + DOMHighResTimeStamp getCurrentTimeStamp() const; + + void setTimeStampProvider(std::function provider) { + timeStampProvider_ = std::move(provider); + } + + // https://www.w3.org/TR/performance-timeline/#getentries-method + // https://www.w3.org/TR/performance-timeline/#getentriesbytype-method + // https://www.w3.org/TR/performance-timeline/#getentriesbyname-method + std::vector getEntries() const; + std::vector getEntriesByType( + PerformanceEntryType entryType) const; + void getEntriesByType( + PerformanceEntryType entryType, + std::vector& target) const; + std::vector getEntriesByName( + std::string_view entryName) const; + std::vector getEntriesByName( + std::string_view entryName, + PerformanceEntryType entryType) const; + + void logEventEntry( + std::string name, + double startTime, + double duration, + double processingStart, + double processingEnd, + uint32_t interactionId); + + void logLongTaskEntry(double startTime, double duration); + + /* + * Event Timing API functions + * https://www.w3.org/TR/event-timing/ + */ + // https://www.w3.org/TR/event-timing/#dom-performance-eventcounts + const std::unordered_map& getEventCounts() const { + return eventCounts_; + } + + /* + * User Timing Level 3 functions + * https://w3c.github.io/user-timing/ + */ + // https://w3c.github.io/user-timing/#mark-method + void mark( + const std::string& name, + const std::optional& startTime = std::nullopt); + + // https://w3c.github.io/user-timing/#measure-method + void measure( + const std::string_view& name, + double startTime, + double endTime, + const std::optional& duration = std::nullopt, + const std::optional& startMark = std::nullopt, + const std::optional& endMark = std::nullopt); + + // https://w3c.github.io/user-timing/#clearmarks-method + // https://w3c.github.io/user-timing/#clearmeasures-method + void clearEntries( + std::optional entryType = std::nullopt, + std::optional entryName = std::nullopt); + + private: + std::unique_ptr observerRegistry_; + + mutable std::mutex buffersMutex_; + PerformanceEntryCircularBuffer eventBuffer_{EVENT_BUFFER_SIZE}; + PerformanceEntryCircularBuffer longTaskBuffer_{LONG_TASK_BUFFER_SIZE}; + PerformanceEntryKeyedBuffer markBuffer_; + PerformanceEntryKeyedBuffer measureBuffer_; + + std::unordered_map eventCounts_; + + std::function timeStampProvider_ = nullptr; + + double getMarkTime(const std::string& markName) const; + + inline PerformanceEntryBuffer& getBufferRef(PerformanceEntryType entryType) { + switch (entryType) { + case PerformanceEntryType::EVENT: + return eventBuffer_; + case PerformanceEntryType::MARK: + return markBuffer_; + case PerformanceEntryType::MEASURE: + return measureBuffer_; + case PerformanceEntryType::LONGTASK: + return longTaskBuffer_; + case PerformanceEntryType::_NEXT: + throw std::logic_error("Cannot get buffer for _NEXT entry type"); + } + throw std::logic_error("Unhandled PerformanceEntryType: "); // [Windows #13939] + } + + const inline PerformanceEntryBuffer& getBuffer( + PerformanceEntryType entryType) const { + switch (entryType) { + case PerformanceEntryType::EVENT: + return eventBuffer_; + case PerformanceEntryType::MARK: + return markBuffer_; + case PerformanceEntryType::MEASURE: + return measureBuffer_; + case PerformanceEntryType::LONGTASK: + return longTaskBuffer_; + case PerformanceEntryType::_NEXT: + throw std::logic_error("Cannot get buffer for _NEXT entry type"); + } + throw std::logic_error("Unhandled PerformanceEntryType"); // [Windows #13939] + } +}; + +} // namespace facebook::react \ No newline at end of file From ef91f88d36af7742b9ebf2c09c9a44c189c193d4 Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Mon, 7 Oct 2024 17:13:29 -0700 Subject: [PATCH 08/13] fix overrides --- .../react-native-win32/overrides.json | 12 ++++----- packages/@react-native/tester/overrides.json | 7 +++++ .../timeline/PerformanceEntryReporter.cpp | 2 +- .../timeline/PerformanceEntryReporter.h | 2 +- vnext/overrides.json | 26 ++++++++++++++----- 5 files changed, 35 insertions(+), 14 deletions(-) diff --git a/packages/@office-iss/react-native-win32/overrides.json b/packages/@office-iss/react-native-win32/overrides.json index ece29b10f23..71ae1200e19 100644 --- a/packages/@office-iss/react-native-win32/overrides.json +++ b/packages/@office-iss/react-native-win32/overrides.json @@ -224,12 +224,6 @@ "baseHash": "453c4da8036736aefbd950bb7c90603859933f4e", "issue": 5170 }, - { - "type": "copy", - "file": "src/private/reactdevtools/ReactDevToolsSettingsManager.win32.js", - "baseFile": "packages/react-native/src/private/reactdevtools/ReactDevToolsSettingsManager.android.js", - "baseHash": "df41b76dc3d2df9455fae588748261d7b0a22d01" - }, { "type": "platform", "file": "src-win/Libraries/Image/assetPaths.js" @@ -529,6 +523,12 @@ "file": "src-win/src/private/specs/modules/NativePlatformConstantsWin.js", "baseFile": "packages/react-native/src/private/specs/modules/NativePlatformConstantsAndroid.js", "baseHash": "fa0f34a2de33b641bd63863629087644796d8b59" + }, + { + "type": "copy", + "file": "src-win/src/private/reactdevtools/ReactDevToolsSettingsManager.win32.js", + "baseFile": "packages/react-native/src/private/reactdevtools/ReactDevToolsSettingsManager.android.js", + "baseHash": "df41b76dc3d2df9455fae588748261d7b0a22d01" } ] } \ No newline at end of file diff --git a/packages/@react-native/tester/overrides.json b/packages/@react-native/tester/overrides.json index a6ce66ae7c0..6751f4c9d46 100644 --- a/packages/@react-native/tester/overrides.json +++ b/packages/@react-native/tester/overrides.json @@ -281,6 +281,13 @@ "baseHash": "e14899179e3865d327637b8f94810ded5ba50bed", "issue": 4054 }, + { + "type": "copy", + "directory": "js/examples/Playground", + "baseDirectory": "packages/rn-tester/js/examples/Playground", + "baseHash": "e47040a1660aa6acaf06e912226c0e2a78dd7760", + "issue": 4054 + }, { "type": "copy", "directory": "js/examples/PointerEvents", diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.cpp b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.cpp index 2baa031f3d9..81d6685154b 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.cpp +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.cpp @@ -210,4 +210,4 @@ void PerformanceEntryReporter::logLongTaskEntry( observerRegistry_->queuePerformanceEntry(entry); } -} // namespace facebook::react \ No newline at end of file +} // namespace facebook::react diff --git a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.h b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.h index edfeefb6e42..83179e18e73 100644 --- a/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.h +++ b/vnext/ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.h @@ -156,4 +156,4 @@ class PerformanceEntryReporter { } }; -} // namespace facebook::react \ No newline at end of file +} // namespace facebook::react diff --git a/vnext/overrides.json b/vnext/overrides.json index 3ed4b4417f4..e9c13f29b08 100644 --- a/vnext/overrides.json +++ b/vnext/overrides.json @@ -182,6 +182,20 @@ "baseHash": "aa60f41597ea70b11c1f0ec68f1c0b8d2b327df3", "issue": 12195 }, + { + "type": "patch", + "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.cpp", + "baseFile": "packages/react-native/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp", + "baseHash": "2b13190288dfb30dc4fe0631c9e64d73e1e2baea", + "issue": 13939 + }, + { + "type": "patch", + "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/performance/timeline/PerformanceEntryReporter.h", + "baseFile": "packages/react-native/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h", + "baseHash": "e21188b830c8dd5700fb21901ce9d9532d2986ca", + "issue": 13939 + }, { "type": "patch", "file": "ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp", @@ -469,12 +483,6 @@ "baseHash": "14662281c97222b45893308b744a7dc7c2000801", "issue": 12704 }, - { - "type": "copy", - "file": "src/private/reactdevtools/ReactDevToolsSettingsManager.windows.js", - "baseFile": "packages/react-native/src/private/reactdevtools/ReactDevToolsSettingsManager.android.js", - "baseHash": "df41b76dc3d2df9455fae588748261d7b0a22d01" - }, { "type": "platform", "file": "src-win/Libraries/Image/assetPaths.js" @@ -639,6 +647,12 @@ "file": "src-win/src/private/specs/modules/NativePlatformConstantsWindows.js", "baseFile": "packages/react-native/src/private/specs/modules/NativePlatformConstantsAndroid.js", "baseHash": "fa0f34a2de33b641bd63863629087644796d8b59" + }, + { + "type": "copy", + "file": "src-win/src/private/reactdevtools/ReactDevToolsSettingsManager.windows.js", + "baseFile": "packages/react-native/src/private/reactdevtools/ReactDevToolsSettingsManager.android.js", + "baseHash": "df41b76dc3d2df9455fae588748261d7b0a22d01" } ] } \ No newline at end of file From 2331412642f072f736759b861045b4ca20c7014a Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Tue, 8 Oct 2024 11:08:19 -0700 Subject: [PATCH 09/13] fix snapshot + lint --- .../codegen/src/generators/ValidateMethods.ts | 2 ++ .../__snapshots__/HomeUIADump.test.ts.snap | 24 +++++++++---------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/@react-native-windows/codegen/src/generators/ValidateMethods.ts b/packages/@react-native-windows/codegen/src/generators/ValidateMethods.ts index 018cfc8f9e2..e447bc4475e 100644 --- a/packages/@react-native-windows/codegen/src/generators/ValidateMethods.ts +++ b/packages/@react-native-windows/codegen/src/generators/ValidateMethods.ts @@ -33,6 +33,7 @@ function getPossibleMethodSignatures( ): string[] { const args = translateArgs(funcType.params, aliases, baseAliasName, options); if (funcType.returnTypeAnnotation.type === 'PromiseTypeAnnotation') { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition if (funcType.returnTypeAnnotation.elementType) { args.push( `::React::ReactPromise<${translateImplReturnType( @@ -120,6 +121,7 @@ function renderProperties( ); if (funcType.returnTypeAnnotation.type === 'PromiseTypeAnnotation') { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition if (funcType.returnTypeAnnotation.elementType) { traversedArgs.push( `Promise<${translateSpecReturnType( diff --git a/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap b/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap index 933668a67cd..596b368e838 100644 --- a/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap +++ b/packages/e2e-test-app-fabric/test/__snapshots__/HomeUIADump.test.ts.snap @@ -53,21 +53,21 @@ exports[`Home UIA Tree Dump APIs Tab 1`] = ` }, "Comment": "apis-tab", "Offset": "0, 0, 0", - "Size": "499, 65", + "Size": "333, 65", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "499, 65", + "Size": "333, 65", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "499, 65", + "Size": "333, 65", "Visual Type": "SpriteVisual", "__Children": [ { - "Offset": "235, 13, 0", + "Offset": "151, 13, 0", "Size": "30, 20", "Visual Type": "SpriteVisual", "__Children": [ @@ -84,7 +84,7 @@ exports[`Home UIA Tree Dump APIs Tab 1`] = ` ], }, { - "Offset": "236, 33, 0", + "Offset": "153, 33, 0", "Size": "27, 19", "Visual Type": "SpriteVisual", "__Children": [ @@ -1146,17 +1146,17 @@ exports[`Home UIA Tree Dump Components Tab 1`] = ` }, "Comment": "components-tab", "Offset": "0, 0, 0", - "Size": "499, 65", + "Size": "333, 65", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "499, 65", + "Size": "333, 65", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "499, 65", + "Size": "333, 65", "Visual Type": "SpriteVisual", "__Children": [ { @@ -1200,7 +1200,7 @@ exports[`Home UIA Tree Dump Components Tab 1`] = ` "Visual Type": "SpriteVisual", }, { - "Offset": "240, 14, 0", + "Offset": "156, 14, 0", "Size": "20, 20", "Visual Type": "SpriteVisual", "__Children": [ @@ -1217,13 +1217,13 @@ exports[`Home UIA Tree Dump Components Tab 1`] = ` ], }, { - "Offset": "209, 34, 0", - "Size": "81, 19", + "Offset": "126, 34, 0", + "Size": "80, 19", "Visual Type": "SpriteVisual", "__Children": [ { "Offset": "0, 0, 0", - "Size": "81, 19", + "Size": "80, 19", "Visual Type": "SpriteVisual", }, { From 94c6aee1cbfae5395008d0bc2d42c360e92db81b Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Tue, 8 Oct 2024 11:27:41 -0700 Subject: [PATCH 10/13] Change files --- ...ndows-codegen-ffddf935-ed21-45ac-997f-85379ec7afd0.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 change/@react-native-windows-codegen-ffddf935-ed21-45ac-997f-85379ec7afd0.json diff --git a/change/@react-native-windows-codegen-ffddf935-ed21-45ac-997f-85379ec7afd0.json b/change/@react-native-windows-codegen-ffddf935-ed21-45ac-997f-85379ec7afd0.json new file mode 100644 index 00000000000..487c2bd442b --- /dev/null +++ b/change/@react-native-windows-codegen-ffddf935-ed21-45ac-997f-85379ec7afd0.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "0.77.0-nightly-20241001-223e98cc4", + "packageName": "@react-native-windows/codegen", + "email": "tatianakapos@microsoft.com", + "dependentChangeType": "patch" +} From 792e0a2aac141a7194ef7b67f35576ea291a4a02 Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Wed, 9 Oct 2024 13:09:06 -0700 Subject: [PATCH 11/13] try removing babel plugin --- packages/@rnw-scripts/babel-react-native-config/babel.config.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/@rnw-scripts/babel-react-native-config/babel.config.js b/packages/@rnw-scripts/babel-react-native-config/babel.config.js index 28960bdad83..85daab11e15 100644 --- a/packages/@rnw-scripts/babel-react-native-config/babel.config.js +++ b/packages/@rnw-scripts/babel-react-native-config/babel.config.js @@ -11,7 +11,6 @@ module.exports = () => ({ 'module:@react-native/babel-preset', ], plugins: [ - "babel-plugin-syntax-hermes-parser", "babel-plugin-transform-flow-enums", ] }); From 2c1f81ec3c433edc3cf4e7bbb8edf07b714f29d3 Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Wed, 9 Oct 2024 16:36:01 -0700 Subject: [PATCH 12/13] add change back in --- packages/@rnw-scripts/babel-react-native-config/babel.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/@rnw-scripts/babel-react-native-config/babel.config.js b/packages/@rnw-scripts/babel-react-native-config/babel.config.js index 85daab11e15..28960bdad83 100644 --- a/packages/@rnw-scripts/babel-react-native-config/babel.config.js +++ b/packages/@rnw-scripts/babel-react-native-config/babel.config.js @@ -11,6 +11,7 @@ module.exports = () => ({ 'module:@react-native/babel-preset', ], plugins: [ + "babel-plugin-syntax-hermes-parser", "babel-plugin-transform-flow-enums", ] }); From 7d33180a4a09e091365a2b58cd602f29e57a78af Mon Sep 17 00:00:00 2001 From: Tatiana Kapos Date: Fri, 11 Oct 2024 11:40:48 -0700 Subject: [PATCH 13/13] bump dep --- .../@rnw-scripts/babel-react-native-config/babel.config.js | 1 - packages/@rnw-scripts/babel-react-native-config/package.json | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/@rnw-scripts/babel-react-native-config/babel.config.js b/packages/@rnw-scripts/babel-react-native-config/babel.config.js index 28960bdad83..85daab11e15 100644 --- a/packages/@rnw-scripts/babel-react-native-config/babel.config.js +++ b/packages/@rnw-scripts/babel-react-native-config/babel.config.js @@ -11,7 +11,6 @@ module.exports = () => ({ 'module:@react-native/babel-preset', ], plugins: [ - "babel-plugin-syntax-hermes-parser", "babel-plugin-transform-flow-enums", ] }); diff --git a/packages/@rnw-scripts/babel-react-native-config/package.json b/packages/@rnw-scripts/babel-react-native-config/package.json index 5f71ac8b318..4562368224c 100644 --- a/packages/@rnw-scripts/babel-react-native-config/package.json +++ b/packages/@rnw-scripts/babel-react-native-config/package.json @@ -11,12 +11,12 @@ }, "dependencies": { "@babel/core": "^7.25.2", - "@react-native/babel-preset": "0.76.0-nightly-20240701-9f6cb21ed", + "@react-native/babel-preset": "0.77.0-nightly-20241001-223e98cc4", "babel-plugin-transform-flow-enums": "^0.0.2" }, "devDependencies": { "@babel/core": "^7.25.2", - "@react-native/babel-preset": "0.76.0-nightly-20240701-9f6cb21ed", + "@react-native/babel-preset": "0.77.0-nightly-20241001-223e98cc4", "eslint": "^8.19.0", "prettier": "2.8.8" },