From d45a1f4d420025b1bb4b16a7e34be757e863ba49 Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Thu, 1 May 2025 15:22:46 -0700
Subject: [PATCH 01/19] Bump hermes version
---
.../packages.chakra.lock.json | 6 +-
.../AutomationChannel/packages.lock.json | 6 +-
.../packages.newarch.lock.json | 6 +-
.../packages.lock.json | 8 +-
.../RNTesterApp-Fabric/packages.lock.json | 8 +-
.../RNTesterApp/packages.chakra.lock.json | 6 +-
.../windows/RNTesterApp/packages.lock.json | 8 +-
.../packages.chakra.lock.json | 6 +-
.../InteropTestModuleCS/packages.lock.json | 6 +-
.../integrationtest/packages.chakra.lock.json | 6 +-
.../integrationtest/packages.lock.json | 8 +-
.../packages.lock.json | 6 +-
.../packages.experimentalwinui3.lock.json | 8 +-
.../packages.lock.json | 233 +-----------------
.../packages.experimentalwinui3.lock.json | 8 +-
.../playground-composition/packages.lock.json | 8 +-
.../windows/playground/packages.lock.json | 8 +-
.../packages.lock.json | 8 +-
.../SampleAppFabric/packages.lock.json | 8 +-
.../windows/SampleAppCPP/packages.lock.json | 8 +-
.../windows/SampleAppCS/packages.lock.json | 8 +-
.../SampleLibraryCPP/packages.lock.json | 6 +-
.../SampleLibraryCS/packages.lock.json | 6 +-
.../packages.experimentalwinui3.lock.json | 6 +-
.../SampleCustomComponent/packages.lock.json | 6 +-
.../packages.experimentalwinui3.lock.json | 8 +-
vnext/Desktop.ABITests/packages.lock.json | 8 +-
.../packages.experimentalwinui3.lock.json | 8 +-
vnext/Desktop.DLL/packages.lock.json | 8 +-
.../packages.experimentalwinui3.lock.json | 8 +-
.../packages.lock.json | 8 +-
.../packages.experimentalwinui3.lock.json | 6 +-
vnext/Desktop.UnitTests/packages.lock.json | 6 +-
.../packages.experimentalwinui3.lock.json | 6 +-
vnext/Desktop/packages.lock.json | 6 +-
vnext/Directory.Build.props | 2 +-
.../packages.experimentalwinui3.lock.json | 6 +-
.../packages.lock.json | 6 +-
.../Microsoft.ReactNative.Cxx.vcxitems | 2 +-
.../packages.experimentalwinui3.lock.json | 6 +-
.../packages.lock.json | 6 +-
...kages.newarch.experimentalwinui3.lock.json | 6 +-
.../packages.newarch.lock.json | 6 +-
.../packages.lock.json | 6 +-
.../packages.lock.json | 6 +-
.../packages.lock.json | 6 +-
.../packages.chakra.lock.json | 6 +-
.../packages.experimentalwinui3.lock.json | 6 +-
.../Microsoft.ReactNative/packages.lock.json | 6 +-
...kages.newarch.experimentalwinui3.lock.json | 6 +-
.../packages.newarch.lock.json | 6 +-
vnext/PropertySheets/JSEngine.props | 2 +-
.../packages.experimentalwinui3.lock.json | 6 +-
.../ReactCommon.UnitTests/packages.lock.json | 6 +-
vnext/ReactCommon/cgmanifest.json | 2 +-
vnext/fmt/packages.lock.json | 13 +
56 files changed, 197 insertions(+), 393 deletions(-)
create mode 100644 vnext/fmt/packages.lock.json
diff --git a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.chakra.lock.json b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.chakra.lock.json
index 79233b0d618..c7a92f44661 100644
--- a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.chakra.lock.json
+++ b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.chakra.lock.json
@@ -29,8 +29,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -72,7 +72,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.lock.json b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.lock.json
index 79233b0d618..c7a92f44661 100644
--- a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.lock.json
+++ b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.lock.json
@@ -29,8 +29,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -72,7 +72,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.newarch.lock.json b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.newarch.lock.json
index 68a4a76039b..27ad5d3a856 100644
--- a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.newarch.lock.json
+++ b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.newarch.lock.json
@@ -37,8 +37,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -85,7 +85,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.Package/packages.lock.json b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.Package/packages.lock.json
index 810b9b8d5a0..668f3c60d98 100644
--- a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.Package/packages.lock.json
+++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.Package/packages.lock.json
@@ -14,8 +14,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -85,7 +85,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
@@ -103,7 +103,7 @@
"type": "Project",
"dependencies": {
"AutomationChannel": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.ReactNative": "[1.0.0, )",
"Microsoft.VCRTForwarders.140": "[1.0.2-rc, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/packages.lock.json b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/packages.lock.json
index 0ba91539bf4..d5f629271b9 100644
--- a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/packages.lock.json
+++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.VCRTForwarders.140": {
"type": "Direct",
@@ -95,7 +95,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/e2e-test-app/windows/RNTesterApp/packages.chakra.lock.json b/packages/e2e-test-app/windows/RNTesterApp/packages.chakra.lock.json
index a4c7e7c1fbb..923c6bfc4b1 100644
--- a/packages/e2e-test-app/windows/RNTesterApp/packages.chakra.lock.json
+++ b/packages/e2e-test-app/windows/RNTesterApp/packages.chakra.lock.json
@@ -46,8 +46,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -197,7 +197,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/e2e-test-app/windows/RNTesterApp/packages.lock.json b/packages/e2e-test-app/windows/RNTesterApp/packages.lock.json
index 96a3b4de2ae..580f2b7449b 100644
--- a/packages/e2e-test-app/windows/RNTesterApp/packages.lock.json
+++ b/packages/e2e-test-app/windows/RNTesterApp/packages.lock.json
@@ -4,9 +4,9 @@
"UAP,Version=v10.0.17763": {
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.NETCore.UniversalWindowsPlatform": {
"type": "Direct",
@@ -198,7 +198,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/integration-test-app/windows/InteropTestModuleCS/packages.chakra.lock.json b/packages/integration-test-app/windows/InteropTestModuleCS/packages.chakra.lock.json
index 7db992de4d8..3506313d3a8 100644
--- a/packages/integration-test-app/windows/InteropTestModuleCS/packages.chakra.lock.json
+++ b/packages/integration-test-app/windows/InteropTestModuleCS/packages.chakra.lock.json
@@ -26,8 +26,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -178,7 +178,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/integration-test-app/windows/InteropTestModuleCS/packages.lock.json b/packages/integration-test-app/windows/InteropTestModuleCS/packages.lock.json
index 7db992de4d8..3506313d3a8 100644
--- a/packages/integration-test-app/windows/InteropTestModuleCS/packages.lock.json
+++ b/packages/integration-test-app/windows/InteropTestModuleCS/packages.lock.json
@@ -26,8 +26,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -178,7 +178,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/integration-test-app/windows/integrationtest/packages.chakra.lock.json b/packages/integration-test-app/windows/integrationtest/packages.chakra.lock.json
index 96844d4f844..530fbfee70d 100644
--- a/packages/integration-test-app/windows/integrationtest/packages.chakra.lock.json
+++ b/packages/integration-test-app/windows/integrationtest/packages.chakra.lock.json
@@ -29,8 +29,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -199,7 +199,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/integration-test-app/windows/integrationtest/packages.lock.json b/packages/integration-test-app/windows/integrationtest/packages.lock.json
index 3c458061d17..8dc30e2a8b8 100644
--- a/packages/integration-test-app/windows/integrationtest/packages.lock.json
+++ b/packages/integration-test-app/windows/integrationtest/packages.lock.json
@@ -4,9 +4,9 @@
"native,Version=v0.0": {
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.UI.Xaml": {
"type": "Direct",
@@ -200,7 +200,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/playground/windows/PlaygroundNativeModules/packages.lock.json b/packages/playground/windows/PlaygroundNativeModules/packages.lock.json
index 79233b0d618..c7a92f44661 100644
--- a/packages/playground/windows/PlaygroundNativeModules/packages.lock.json
+++ b/packages/playground/windows/PlaygroundNativeModules/packages.lock.json
@@ -29,8 +29,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -72,7 +72,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/playground/windows/playground-composition.Package/packages.experimentalwinui3.lock.json b/packages/playground/windows/playground-composition.Package/packages.experimentalwinui3.lock.json
index a3d48565824..f0c30f82fd8 100644
--- a/packages/playground/windows/playground-composition.Package/packages.experimentalwinui3.lock.json
+++ b/packages/playground/windows/playground-composition.Package/packages.experimentalwinui3.lock.json
@@ -14,8 +14,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -76,7 +76,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
"ReactCommon": "[1.0.0, )",
@@ -86,7 +86,7 @@
"playground-composition": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.ReactNative": "[1.0.0, )",
"Microsoft.VCRTForwarders.140": "[1.0.2-rc, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
diff --git a/packages/playground/windows/playground-composition.Package/packages.lock.json b/packages/playground/windows/playground-composition.Package/packages.lock.json
index 7514f1a0d37..99870dd293c 100644
--- a/packages/playground/windows/playground-composition.Package/packages.lock.json
+++ b/packages/playground/windows/playground-composition.Package/packages.lock.json
@@ -2,64 +2,8 @@
"version": 1,
"dependencies": {
"UAP,Version=v10.0.17763": {
- "boost": {
- "type": "Transitive",
- "resolved": "1.83.0",
- "contentHash": "cy53VNMzysEMvhBixDe8ujPk67Fcj3v6FPHQnH91NYJNLHpc6jxa2xq9ruCaaJjE4M3YrGSHDi4uUSTGBWw6EQ=="
- },
- "Microsoft.Build.Tasks.Git": {
- "type": "Transitive",
- "resolved": "1.1.1",
- "contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
- },
- "Microsoft.JavaScript.Hermes": {
- "type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
- },
- "Microsoft.SourceLink.Common": {
- "type": "Transitive",
- "resolved": "1.1.1",
- "contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
- },
- "Microsoft.SourceLink.GitHub": {
- "type": "Transitive",
- "resolved": "1.1.1",
- "contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
- "dependencies": {
- "Microsoft.Build.Tasks.Git": "1.1.1",
- "Microsoft.SourceLink.Common": "1.1.1"
- }
- },
- "Microsoft.VCRTForwarders.140": {
- "type": "Transitive",
- "resolved": "1.0.2-rc",
- "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
- },
- "Microsoft.Web.WebView2": {
- "type": "Transitive",
- "resolved": "1.0.2903.40",
- "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
- },
- "Microsoft.Windows.SDK.BuildTools": {
- "type": "Transitive",
- "resolved": "10.0.22621.756",
- "contentHash": "7ZL2sFSioYm1Ry067Kw1hg0SCcW5kuVezC2SwjGbcPE61Nn+gTbH86T73G3LcEOVj0S3IZzNuE/29gZvOLS7VA=="
- },
- "Microsoft.WindowsAppSDK": {
- "type": "Transitive",
- "resolved": "1.7.250401001",
- "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
- "dependencies": {
- "Microsoft.Web.WebView2": "1.0.2903.40",
- "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
- }
- },
"common": {
- "type": "Project",
- "dependencies": {
- "boost": "[1.83.0, )"
- }
+ "type": "Project"
},
"fmt": {
"type": "Project"
@@ -67,7 +11,6 @@
"folly": {
"type": "Project",
"dependencies": {
- "boost": "[1.83.0, )",
"fmt": "[1.0.0, )"
}
},
@@ -76,187 +19,35 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
- "Microsoft.SourceLink.GitHub": "[1.1.1, )",
- "Microsoft.WindowsAppSDK": "[1.7.250401001, )",
- "ReactCommon": "[1.0.0, )",
- "boost": "[1.83.0, )"
+ "ReactCommon": "[1.0.0, )"
}
},
"playground-composition": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
"Microsoft.ReactNative": "[1.0.0, )",
- "Microsoft.VCRTForwarders.140": "[1.0.2-rc, )",
- "Microsoft.WindowsAppSDK": "[1.7.250401001, )",
- "SampleCustomComponent": "[1.0.0, )",
- "boost": "[1.83.0, )"
+ "SampleCustomComponent": "[1.0.0, )"
}
},
"reactcommon": {
"type": "Project",
"dependencies": {
- "Folly": "[1.0.0, )",
- "boost": "[1.83.0, )"
+ "Folly": "[1.0.0, )"
}
},
"samplecustomcomponent": {
"type": "Project",
"dependencies": {
- "Microsoft.ReactNative": "[1.0.0, )",
- "Microsoft.VCRTForwarders.140": "[1.0.2-rc, )",
- "Microsoft.WindowsAppSDK": "[1.7.250401001, )",
- "boost": "[1.83.0, )"
- }
- }
- },
- "UAP,Version=v10.0.17763/win10-arm": {
- "Microsoft.VCRTForwarders.140": {
- "type": "Transitive",
- "resolved": "1.0.2-rc",
- "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
- },
- "Microsoft.Web.WebView2": {
- "type": "Transitive",
- "resolved": "1.0.2903.40",
- "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
- },
- "Microsoft.WindowsAppSDK": {
- "type": "Transitive",
- "resolved": "1.7.250401001",
- "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
- "dependencies": {
- "Microsoft.Web.WebView2": "1.0.2903.40",
- "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
- }
- }
- },
- "UAP,Version=v10.0.17763/win10-arm-aot": {
- "Microsoft.VCRTForwarders.140": {
- "type": "Transitive",
- "resolved": "1.0.2-rc",
- "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
- },
- "Microsoft.Web.WebView2": {
- "type": "Transitive",
- "resolved": "1.0.2903.40",
- "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
- },
- "Microsoft.WindowsAppSDK": {
- "type": "Transitive",
- "resolved": "1.7.250401001",
- "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
- "dependencies": {
- "Microsoft.Web.WebView2": "1.0.2903.40",
- "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
- }
- }
- },
- "UAP,Version=v10.0.17763/win10-arm64-aot": {
- "Microsoft.VCRTForwarders.140": {
- "type": "Transitive",
- "resolved": "1.0.2-rc",
- "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
- },
- "Microsoft.Web.WebView2": {
- "type": "Transitive",
- "resolved": "1.0.2903.40",
- "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
- },
- "Microsoft.WindowsAppSDK": {
- "type": "Transitive",
- "resolved": "1.7.250401001",
- "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
- "dependencies": {
- "Microsoft.Web.WebView2": "1.0.2903.40",
- "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
- }
- }
- },
- "UAP,Version=v10.0.17763/win10-x64": {
- "Microsoft.VCRTForwarders.140": {
- "type": "Transitive",
- "resolved": "1.0.2-rc",
- "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
- },
- "Microsoft.Web.WebView2": {
- "type": "Transitive",
- "resolved": "1.0.2903.40",
- "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
- },
- "Microsoft.WindowsAppSDK": {
- "type": "Transitive",
- "resolved": "1.7.250401001",
- "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
- "dependencies": {
- "Microsoft.Web.WebView2": "1.0.2903.40",
- "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
- }
- }
- },
- "UAP,Version=v10.0.17763/win10-x64-aot": {
- "Microsoft.VCRTForwarders.140": {
- "type": "Transitive",
- "resolved": "1.0.2-rc",
- "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
- },
- "Microsoft.Web.WebView2": {
- "type": "Transitive",
- "resolved": "1.0.2903.40",
- "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
- },
- "Microsoft.WindowsAppSDK": {
- "type": "Transitive",
- "resolved": "1.7.250401001",
- "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
- "dependencies": {
- "Microsoft.Web.WebView2": "1.0.2903.40",
- "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
+ "Microsoft.ReactNative": "[1.0.0, )"
}
}
},
- "UAP,Version=v10.0.17763/win10-x86": {
- "Microsoft.VCRTForwarders.140": {
- "type": "Transitive",
- "resolved": "1.0.2-rc",
- "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
- },
- "Microsoft.Web.WebView2": {
- "type": "Transitive",
- "resolved": "1.0.2903.40",
- "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
- },
- "Microsoft.WindowsAppSDK": {
- "type": "Transitive",
- "resolved": "1.7.250401001",
- "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
- "dependencies": {
- "Microsoft.Web.WebView2": "1.0.2903.40",
- "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
- }
- }
- },
- "UAP,Version=v10.0.17763/win10-x86-aot": {
- "Microsoft.VCRTForwarders.140": {
- "type": "Transitive",
- "resolved": "1.0.2-rc",
- "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
- },
- "Microsoft.Web.WebView2": {
- "type": "Transitive",
- "resolved": "1.0.2903.40",
- "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
- },
- "Microsoft.WindowsAppSDK": {
- "type": "Transitive",
- "resolved": "1.7.250401001",
- "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
- "dependencies": {
- "Microsoft.Web.WebView2": "1.0.2903.40",
- "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
- }
- }
- }
+ "UAP,Version=v10.0.17763/win10-arm": {},
+ "UAP,Version=v10.0.17763/win10-arm-aot": {},
+ "UAP,Version=v10.0.17763/win10-arm64-aot": {},
+ "UAP,Version=v10.0.17763/win10-x64": {},
+ "UAP,Version=v10.0.17763/win10-x64-aot": {},
+ "UAP,Version=v10.0.17763/win10-x86": {},
+ "UAP,Version=v10.0.17763/win10-x86-aot": {}
}
}
\ No newline at end of file
diff --git a/packages/playground/windows/playground-composition/packages.experimentalwinui3.lock.json b/packages/playground/windows/playground-composition/packages.experimentalwinui3.lock.json
index 7df97b14216..0eae5cb8aaa 100644
--- a/packages/playground/windows/playground-composition/packages.experimentalwinui3.lock.json
+++ b/packages/playground/windows/playground-composition/packages.experimentalwinui3.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.VCRTForwarders.140": {
"type": "Direct",
@@ -86,7 +86,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/playground/windows/playground-composition/packages.lock.json b/packages/playground/windows/playground-composition/packages.lock.json
index 51fc9932c39..29179fcf0ab 100644
--- a/packages/playground/windows/playground-composition/packages.lock.json
+++ b/packages/playground/windows/playground-composition/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.VCRTForwarders.140": {
"type": "Direct",
@@ -86,7 +86,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/playground/windows/playground/packages.lock.json b/packages/playground/windows/playground/packages.lock.json
index 6694b7d65af..a00de473e9c 100644
--- a/packages/playground/windows/playground/packages.lock.json
+++ b/packages/playground/windows/playground/packages.lock.json
@@ -4,9 +4,9 @@
"native,Version=v0.0": {
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.UI.Xaml": {
"type": "Direct",
@@ -73,7 +73,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-app-fabric/windows/SampleAppFabric.Package/packages.lock.json b/packages/sample-app-fabric/windows/SampleAppFabric.Package/packages.lock.json
index 3b4906637dc..de61dc42a65 100644
--- a/packages/sample-app-fabric/windows/SampleAppFabric.Package/packages.lock.json
+++ b/packages/sample-app-fabric/windows/SampleAppFabric.Package/packages.lock.json
@@ -14,8 +14,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -76,7 +76,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
@@ -93,7 +93,7 @@
"sampleappfabric": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.ReactNative": "[1.0.0, )",
"Microsoft.VCRTForwarders.140": "[1.0.2-rc, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
diff --git a/packages/sample-app-fabric/windows/SampleAppFabric/packages.lock.json b/packages/sample-app-fabric/windows/SampleAppFabric/packages.lock.json
index 79c2791d21f..627958ace96 100644
--- a/packages/sample-app-fabric/windows/SampleAppFabric/packages.lock.json
+++ b/packages/sample-app-fabric/windows/SampleAppFabric/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.VCRTForwarders.140": {
"type": "Direct",
@@ -86,7 +86,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-apps/windows/SampleAppCPP/packages.lock.json b/packages/sample-apps/windows/SampleAppCPP/packages.lock.json
index 08b2d7a832e..877bd534bc6 100644
--- a/packages/sample-apps/windows/SampleAppCPP/packages.lock.json
+++ b/packages/sample-apps/windows/SampleAppCPP/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.UI.Xaml": {
"type": "Direct",
@@ -186,7 +186,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-apps/windows/SampleAppCS/packages.lock.json b/packages/sample-apps/windows/SampleAppCS/packages.lock.json
index 7a5e0554700..a0e7f551b81 100644
--- a/packages/sample-apps/windows/SampleAppCS/packages.lock.json
+++ b/packages/sample-apps/windows/SampleAppCS/packages.lock.json
@@ -4,9 +4,9 @@
"UAP,Version=v10.0.17763": {
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.NETCore.UniversalWindowsPlatform": {
"type": "Direct",
@@ -180,7 +180,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-apps/windows/SampleLibraryCPP/packages.lock.json b/packages/sample-apps/windows/SampleLibraryCPP/packages.lock.json
index 79233b0d618..c7a92f44661 100644
--- a/packages/sample-apps/windows/SampleLibraryCPP/packages.lock.json
+++ b/packages/sample-apps/windows/SampleLibraryCPP/packages.lock.json
@@ -29,8 +29,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -72,7 +72,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-apps/windows/SampleLibraryCS/packages.lock.json b/packages/sample-apps/windows/SampleLibraryCS/packages.lock.json
index 7db992de4d8..3506313d3a8 100644
--- a/packages/sample-apps/windows/SampleLibraryCS/packages.lock.json
+++ b/packages/sample-apps/windows/SampleLibraryCS/packages.lock.json
@@ -26,8 +26,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -178,7 +178,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-custom-component/windows/SampleCustomComponent/packages.experimentalwinui3.lock.json b/packages/sample-custom-component/windows/SampleCustomComponent/packages.experimentalwinui3.lock.json
index 4f10b427538..9f7d75fe92c 100644
--- a/packages/sample-custom-component/windows/SampleCustomComponent/packages.experimentalwinui3.lock.json
+++ b/packages/sample-custom-component/windows/SampleCustomComponent/packages.experimentalwinui3.lock.json
@@ -37,8 +37,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -85,7 +85,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-custom-component/windows/SampleCustomComponent/packages.lock.json b/packages/sample-custom-component/windows/SampleCustomComponent/packages.lock.json
index 5ae7458c8c1..00a5a5a01ea 100644
--- a/packages/sample-custom-component/windows/SampleCustomComponent/packages.lock.json
+++ b/packages/sample-custom-component/windows/SampleCustomComponent/packages.lock.json
@@ -37,8 +37,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -85,7 +85,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Desktop.ABITests/packages.experimentalwinui3.lock.json b/vnext/Desktop.ABITests/packages.experimentalwinui3.lock.json
index 4cca37ed212..4cc0622f73e 100644
--- a/vnext/Desktop.ABITests/packages.experimentalwinui3.lock.json
+++ b/vnext/Desktop.ABITests/packages.experimentalwinui3.lock.json
@@ -32,8 +32,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -96,7 +96,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
@@ -108,7 +108,7 @@
"react.windows.desktop.dll": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"React.Windows.Desktop": "[1.0.0, )",
"ReactNative.V8Jsi.Windows": "[0.71.8, )",
diff --git a/vnext/Desktop.ABITests/packages.lock.json b/vnext/Desktop.ABITests/packages.lock.json
index ad244a8c050..31a607428d1 100644
--- a/vnext/Desktop.ABITests/packages.lock.json
+++ b/vnext/Desktop.ABITests/packages.lock.json
@@ -32,8 +32,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -96,7 +96,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
@@ -108,7 +108,7 @@
"react.windows.desktop.dll": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"React.Windows.Desktop": "[1.0.0, )",
"ReactNative.V8Jsi.Windows": "[0.71.8, )",
diff --git a/vnext/Desktop.DLL/packages.experimentalwinui3.lock.json b/vnext/Desktop.DLL/packages.experimentalwinui3.lock.json
index 19258acac63..c99a00cd3fb 100644
--- a/vnext/Desktop.DLL/packages.experimentalwinui3.lock.json
+++ b/vnext/Desktop.DLL/packages.experimentalwinui3.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
@@ -87,7 +87,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
diff --git a/vnext/Desktop.DLL/packages.lock.json b/vnext/Desktop.DLL/packages.lock.json
index 69dc32b331e..359ffad50ba 100644
--- a/vnext/Desktop.DLL/packages.lock.json
+++ b/vnext/Desktop.DLL/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
@@ -87,7 +87,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
diff --git a/vnext/Desktop.IntegrationTests/packages.experimentalwinui3.lock.json b/vnext/Desktop.IntegrationTests/packages.experimentalwinui3.lock.json
index 0347aafde66..4393b1cfca2 100644
--- a/vnext/Desktop.IntegrationTests/packages.experimentalwinui3.lock.json
+++ b/vnext/Desktop.IntegrationTests/packages.experimentalwinui3.lock.json
@@ -39,8 +39,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -98,7 +98,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
@@ -110,7 +110,7 @@
"react.windows.desktop.dll": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"React.Windows.Desktop": "[1.0.0, )",
"ReactNative.V8Jsi.Windows": "[0.71.8, )",
diff --git a/vnext/Desktop.IntegrationTests/packages.lock.json b/vnext/Desktop.IntegrationTests/packages.lock.json
index b66afebb101..39426936f7f 100644
--- a/vnext/Desktop.IntegrationTests/packages.lock.json
+++ b/vnext/Desktop.IntegrationTests/packages.lock.json
@@ -39,8 +39,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -98,7 +98,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
@@ -110,7 +110,7 @@
"react.windows.desktop.dll": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"React.Windows.Desktop": "[1.0.0, )",
"ReactNative.V8Jsi.Windows": "[0.71.8, )",
diff --git a/vnext/Desktop.UnitTests/packages.experimentalwinui3.lock.json b/vnext/Desktop.UnitTests/packages.experimentalwinui3.lock.json
index ab687db59c6..8a1b85da1b1 100644
--- a/vnext/Desktop.UnitTests/packages.experimentalwinui3.lock.json
+++ b/vnext/Desktop.UnitTests/packages.experimentalwinui3.lock.json
@@ -27,8 +27,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -96,7 +96,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
diff --git a/vnext/Desktop.UnitTests/packages.lock.json b/vnext/Desktop.UnitTests/packages.lock.json
index 75af0bc49ae..d19f7bea83b 100644
--- a/vnext/Desktop.UnitTests/packages.lock.json
+++ b/vnext/Desktop.UnitTests/packages.lock.json
@@ -27,8 +27,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -96,7 +96,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
diff --git a/vnext/Desktop/packages.experimentalwinui3.lock.json b/vnext/Desktop/packages.experimentalwinui3.lock.json
index 958553aaf0e..034c6316d81 100644
--- a/vnext/Desktop/packages.experimentalwinui3.lock.json
+++ b/vnext/Desktop/packages.experimentalwinui3.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Desktop/packages.lock.json b/vnext/Desktop/packages.lock.json
index d286f191eb9..6b4d74e452a 100644
--- a/vnext/Desktop/packages.lock.json
+++ b/vnext/Desktop/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Directory.Build.props b/vnext/Directory.Build.props
index 51977c2e25c..e5f32175e9f 100644
--- a/vnext/Directory.Build.props
+++ b/vnext/Directory.Build.props
@@ -26,7 +26,7 @@
10.1.0
ca2e3685b160617d3d95fcd9e789c4e06ca88
- 83cfef428a97627c9185c73da097e42742de56eb
+ c961df09276263f52b36abe172d9664425d935f5
$(MSBuildThisFileDirectory)stubs
- 83cfef428a97627c9185c73da097e42742de56eb
+ c961df09276263f52b36abe172d9664425d935f5
true
$(MSBuildThisFileDirectory)
$(ReactNativeDir)\..\..\node_modules\.node-api-jsi\node-api-jsi-$(NodeApiJsiCommitHash)\
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/packages.experimentalwinui3.lock.json b/vnext/Microsoft.ReactNative.IntegrationTests/packages.experimentalwinui3.lock.json
index 9b88db405e1..a5bfb8e3a68 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/packages.experimentalwinui3.lock.json
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/packages.experimentalwinui3.lock.json
@@ -33,8 +33,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -84,7 +84,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/packages.lock.json b/vnext/Microsoft.ReactNative.IntegrationTests/packages.lock.json
index 9b88db405e1..a5bfb8e3a68 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/packages.lock.json
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/packages.lock.json
@@ -33,8 +33,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -84,7 +84,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.experimentalwinui3.lock.json b/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.experimentalwinui3.lock.json
index 45c1c72fd66..df41571bab0 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.experimentalwinui3.lock.json
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.experimentalwinui3.lock.json
@@ -43,8 +43,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -91,7 +91,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.lock.json b/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.lock.json
index e0f1b11c6c9..ed5a336d78b 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.lock.json
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.lock.json
@@ -43,8 +43,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -91,7 +91,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json b/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json
index 75561d61ccd..313b6ccb976 100644
--- a/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json
+++ b/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json
@@ -56,8 +56,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -332,7 +332,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json b/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json
index 75561d61ccd..313b6ccb976 100644
--- a/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json
+++ b/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json
@@ -56,8 +56,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -332,7 +332,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.Managed/packages.lock.json b/vnext/Microsoft.ReactNative.Managed/packages.lock.json
index 0d7d0738511..8c85ccdc607 100644
--- a/vnext/Microsoft.ReactNative.Managed/packages.lock.json
+++ b/vnext/Microsoft.ReactNative.Managed/packages.lock.json
@@ -36,8 +36,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -179,7 +179,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative/packages.chakra.lock.json b/vnext/Microsoft.ReactNative/packages.chakra.lock.json
index b6159122ee8..054bc68d752 100644
--- a/vnext/Microsoft.ReactNative/packages.chakra.lock.json
+++ b/vnext/Microsoft.ReactNative/packages.chakra.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Microsoft.ReactNative/packages.experimentalwinui3.lock.json b/vnext/Microsoft.ReactNative/packages.experimentalwinui3.lock.json
index b6159122ee8..054bc68d752 100644
--- a/vnext/Microsoft.ReactNative/packages.experimentalwinui3.lock.json
+++ b/vnext/Microsoft.ReactNative/packages.experimentalwinui3.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Microsoft.ReactNative/packages.lock.json b/vnext/Microsoft.ReactNative/packages.lock.json
index b6159122ee8..054bc68d752 100644
--- a/vnext/Microsoft.ReactNative/packages.lock.json
+++ b/vnext/Microsoft.ReactNative/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Microsoft.ReactNative/packages.newarch.experimentalwinui3.lock.json b/vnext/Microsoft.ReactNative/packages.newarch.experimentalwinui3.lock.json
index 98329c8dc97..f9c4e8f9015 100644
--- a/vnext/Microsoft.ReactNative/packages.newarch.experimentalwinui3.lock.json
+++ b/vnext/Microsoft.ReactNative/packages.newarch.experimentalwinui3.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Microsoft.ReactNative/packages.newarch.lock.json b/vnext/Microsoft.ReactNative/packages.newarch.lock.json
index e39417ee9c7..77c291cb8e1 100644
--- a/vnext/Microsoft.ReactNative/packages.newarch.lock.json
+++ b/vnext/Microsoft.ReactNative/packages.newarch.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.1.23, )",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "requested": "[0.0.0-2505.1001-6aa014c6, )",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/PropertySheets/JSEngine.props b/vnext/PropertySheets/JSEngine.props
index 23f6e818172..60589e46070 100644
--- a/vnext/PropertySheets/JSEngine.props
+++ b/vnext/PropertySheets/JSEngine.props
@@ -6,7 +6,7 @@
true
- 0.1.23
+ 0.0.0-2505.1001-6aa014c6
$(PkgMicrosoft_JavaScript_Hermes)
$(NuGetPackageRoot)\Microsoft.JavaScript.Hermes\$(HermesVersion)
false
diff --git a/vnext/ReactCommon.UnitTests/packages.experimentalwinui3.lock.json b/vnext/ReactCommon.UnitTests/packages.experimentalwinui3.lock.json
index d26c6a6a010..53ddab47559 100644
--- a/vnext/ReactCommon.UnitTests/packages.experimentalwinui3.lock.json
+++ b/vnext/ReactCommon.UnitTests/packages.experimentalwinui3.lock.json
@@ -27,8 +27,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -91,7 +91,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
diff --git a/vnext/ReactCommon.UnitTests/packages.lock.json b/vnext/ReactCommon.UnitTests/packages.lock.json
index ed138fa3983..8c37a0fe472 100644
--- a/vnext/ReactCommon.UnitTests/packages.lock.json
+++ b/vnext/ReactCommon.UnitTests/packages.lock.json
@@ -27,8 +27,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.1.23",
- "contentHash": "cA9t1GjY4Yo0JD1AfA//e1lOwk48hLANfuX6GXrikmEBNZVr2TIX5ONJt5tqCnpZyLz6xGiPDgTfFNKbSfb21g=="
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -91,7 +91,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.1.23, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
diff --git a/vnext/ReactCommon/cgmanifest.json b/vnext/ReactCommon/cgmanifest.json
index f239d3f7e39..5caad665df6 100644
--- a/vnext/ReactCommon/cgmanifest.json
+++ b/vnext/ReactCommon/cgmanifest.json
@@ -6,7 +6,7 @@
"Type": "git",
"Git": {
"RepositoryUrl": "https://github.com/microsoft/node-api-jsi",
- "CommitHash": "83cfef428a97627c9185c73da097e42742de56eb"
+ "CommitHash": "c961df09276263f52b36abe172d9664425d935f5"
}
},
"DevelopmentDependency": false
diff --git a/vnext/fmt/packages.lock.json b/vnext/fmt/packages.lock.json
new file mode 100644
index 00000000000..a31237b580e
--- /dev/null
+++ b/vnext/fmt/packages.lock.json
@@ -0,0 +1,13 @@
+{
+ "version": 1,
+ "dependencies": {
+ "native,Version=v0.0": {},
+ "native,Version=v0.0/win10-arm": {},
+ "native,Version=v0.0/win10-arm-aot": {},
+ "native,Version=v0.0/win10-arm64-aot": {},
+ "native,Version=v0.0/win10-x64": {},
+ "native,Version=v0.0/win10-x64-aot": {},
+ "native,Version=v0.0/win10-x86": {},
+ "native,Version=v0.0/win10-x86-aot": {}
+ }
+}
\ No newline at end of file
From fa40fe3c61d0a6d53a100bf433a9ac67d21f9be4 Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Thu, 1 May 2025 15:29:29 -0700
Subject: [PATCH 02/19] Change files
---
...ation-channel-d0040355-b94f-4fac-9911-745c539e8a49.json | 7 +++++++
...ative-windows-053f82df-fcf3-455d-9ce1-3d083a7017f7.json | 7 +++++++
2 files changed, 14 insertions(+)
create mode 100644 change/@react-native-windows-automation-channel-d0040355-b94f-4fac-9911-745c539e8a49.json
create mode 100644 change/react-native-windows-053f82df-fcf3-455d-9ce1-3d083a7017f7.json
diff --git a/change/@react-native-windows-automation-channel-d0040355-b94f-4fac-9911-745c539e8a49.json b/change/@react-native-windows-automation-channel-d0040355-b94f-4fac-9911-745c539e8a49.json
new file mode 100644
index 00000000000..68782f43fc5
--- /dev/null
+++ b/change/@react-native-windows-automation-channel-d0040355-b94f-4fac-9911-745c539e8a49.json
@@ -0,0 +1,7 @@
+{
+ "type": "patch",
+ "comment": "Bump hermes version",
+ "packageName": "@react-native-windows/automation-channel",
+ "email": "30809111+acoates-ms@users.noreply.github.com",
+ "dependentChangeType": "patch"
+}
diff --git a/change/react-native-windows-053f82df-fcf3-455d-9ce1-3d083a7017f7.json b/change/react-native-windows-053f82df-fcf3-455d-9ce1-3d083a7017f7.json
new file mode 100644
index 00000000000..4eb06d6f745
--- /dev/null
+++ b/change/react-native-windows-053f82df-fcf3-455d-9ce1-3d083a7017f7.json
@@ -0,0 +1,7 @@
+{
+ "type": "prerelease",
+ "comment": "Bump hermes version",
+ "packageName": "react-native-windows",
+ "email": "30809111+acoates-ms@users.noreply.github.com",
+ "dependentChangeType": "patch"
+}
From a9f73c0a55ff0511bbbd060cd7b738b0844c576c Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Thu, 1 May 2025 16:14:24 -0700
Subject: [PATCH 03/19] Bump JSI_VERSION to 19
---
.../JSI/JsiAbiApi.cpp | 19 +++++++++++++------
.../Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h | 13 +++++++------
.../Microsoft.ReactNative.Cxx.vcxitems | 2 +-
vnext/Microsoft.ReactNative/JsiApi.cpp | 8 ++++++++
vnext/Microsoft.ReactNative/JsiApi.h | 1 +
vnext/Microsoft.ReactNative/JsiApi.idl | 1 +
vnext/PropertySheets/React.Cpp.props | 2 +-
vnext/Shared/HermesRuntimeHolder.cpp | 6 ++++++
vnext/Shared/JSI/ChakraRuntime.cpp | 4 ++++
vnext/Shared/JSI/ChakraRuntime.h | 2 ++
vnext/Shared/Shared.vcxitems | 3 +--
vnext/Shared/TurboModuleManager.cpp | 15 ---------------
12 files changed, 45 insertions(+), 31 deletions(-)
diff --git a/vnext/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp b/vnext/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp
index fd0a01611f2..7bdafe878cd 100644
--- a/vnext/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp
+++ b/vnext/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp
@@ -233,6 +233,13 @@ bool JsiAbiRuntime::drainMicrotasks(int maxMicrotasksHint) try {
throw;
}
+void JsiAbiRuntime::queueMicrotask(const facebook::jsi::Function &callback) try {
+ return m_runtime.QueueMicrotask(AsJsiObjectRef(callback));
+} catch (hresult_error const &) {
+ RethrowJsiError();
+ throw;
+}
+
Object JsiAbiRuntime::global() try { return MakeObject(m_runtime.Global()); } catch (hresult_error const &) {
RethrowJsiError();
throw;
@@ -956,7 +963,7 @@ JsiAbiRuntime::DataPointerValue::DataPointerValue(winrt::weak_ref &&
JsiAbiRuntime::DataPointerValue::DataPointerValue(uint64_t data) noexcept : m_data{data} {}
-void JsiAbiRuntime::DataPointerValue::invalidate() {}
+void JsiAbiRuntime::DataPointerValue::invalidate() noexcept {}
//===========================================================================
// JsiAbiRuntime::SymbolPointerValue implementation
@@ -967,7 +974,7 @@ JsiAbiRuntime::SymbolPointerValue::SymbolPointerValue(
JsiSymbolRef &&symbol) noexcept
: DataPointerValue{std::move(weakRuntime), std::exchange(symbol.Data, 0)} {}
-void JsiAbiRuntime::SymbolPointerValue::invalidate() {
+void JsiAbiRuntime::SymbolPointerValue::invalidate() noexcept {
if (m_data) {
if (auto runtime = m_weakRuntime.get()) {
m_weakRuntime = nullptr;
@@ -993,7 +1000,7 @@ JsiAbiRuntime::BigIntPointerValue::BigIntPointerValue(
JsiBigIntRef &&bigInt) noexcept
: DataPointerValue{std::move(weakRuntime), std::exchange(bigInt.Data, 0)} {}
-void JsiAbiRuntime::BigIntPointerValue::invalidate() {
+void JsiAbiRuntime::BigIntPointerValue::invalidate() noexcept {
if (m_data) {
if (auto runtime = m_weakRuntime.get()) {
m_weakRuntime = nullptr;
@@ -1019,7 +1026,7 @@ JsiAbiRuntime::StringPointerValue::StringPointerValue(
JsiStringRef &&str) noexcept
: DataPointerValue{std::move(weakRuntime), std::exchange(str.Data, 0)} {}
-void JsiAbiRuntime::StringPointerValue::invalidate() {
+void JsiAbiRuntime::StringPointerValue::invalidate() noexcept {
if (m_data) {
if (auto runtime = m_weakRuntime.get()) {
m_weakRuntime = nullptr;
@@ -1047,7 +1054,7 @@ JsiAbiRuntime::ObjectPointerValue::ObjectPointerValue(
JsiObjectRef &&obj) noexcept
: DataPointerValue{std::move(weakRuntime), std::exchange(obj.Data, 0)} {}
-void JsiAbiRuntime::ObjectPointerValue::invalidate() {
+void JsiAbiRuntime::ObjectPointerValue::invalidate() noexcept {
if (m_data) {
if (auto runtime = m_weakRuntime.get()) {
m_weakRuntime = nullptr;
@@ -1075,7 +1082,7 @@ JsiAbiRuntime::PropNameIDPointerValue::PropNameIDPointerValue(
JsiPropertyIdRef &&propertyId) noexcept
: DataPointerValue{std::move(weakRuntime), std::exchange(propertyId.Data, 0)} {}
-void JsiAbiRuntime::PropNameIDPointerValue::invalidate() {
+void JsiAbiRuntime::PropNameIDPointerValue::invalidate() noexcept {
if (m_data) {
if (auto runtime = m_weakRuntime.get()) {
m_weakRuntime = nullptr;
diff --git a/vnext/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h b/vnext/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h
index 2c13f2de70f..314bb0f3807 100644
--- a/vnext/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h
+++ b/vnext/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h
@@ -85,6 +85,7 @@ struct JsiAbiRuntime : facebook::jsi::Runtime {
facebook::jsi::Value evaluatePreparedJavaScript(
const std::shared_ptr &js) override;
bool drainMicrotasks(int maxMicrotasksHint = -1) override;
+ void queueMicrotask(const facebook::jsi::Function &callback) override;
facebook::jsi::Object global() override;
std::string description() override;
bool isInspectable() override;
@@ -233,7 +234,7 @@ struct JsiAbiRuntime : facebook::jsi::Runtime {
struct DataPointerValue : PointerValue {
DataPointerValue(winrt::weak_ref &&weakRuntime, uint64_t data) noexcept;
DataPointerValue(uint64_t data) noexcept;
- void invalidate() override;
+ void invalidate() noexcept override;
uint64_t m_data;
winrt::weak_ref m_weakRuntime;
@@ -241,35 +242,35 @@ struct JsiAbiRuntime : facebook::jsi::Runtime {
struct SymbolPointerValue : DataPointerValue {
SymbolPointerValue(winrt::weak_ref &&weakRuntime, JsiSymbolRef &&symbol) noexcept;
- void invalidate() override;
+ void invalidate() noexcept override;
static JsiSymbolRef const &GetData(PointerValue const *pv) noexcept;
static JsiSymbolRef Detach(PointerValue const *pv) noexcept;
};
struct BigIntPointerValue : DataPointerValue {
BigIntPointerValue(winrt::weak_ref &&weakRuntime, JsiBigIntRef &&bigInt) noexcept;
- void invalidate() override;
+ void invalidate() noexcept override;
static JsiBigIntRef const &GetData(PointerValue const *pv) noexcept;
static JsiBigIntRef Detach(PointerValue const *pv) noexcept;
};
struct StringPointerValue : DataPointerValue {
StringPointerValue(winrt::weak_ref &&weakRuntime, JsiStringRef &&str) noexcept;
- void invalidate() override;
+ void invalidate() noexcept override;
static JsiStringRef const &GetData(PointerValue const *pv) noexcept;
static JsiStringRef Detach(PointerValue const *pv) noexcept;
};
struct ObjectPointerValue : DataPointerValue {
ObjectPointerValue(winrt::weak_ref &&weakRuntime, JsiObjectRef &&obj) noexcept;
- void invalidate() override;
+ void invalidate() noexcept override;
static JsiObjectRef const &GetData(PointerValue const *pv) noexcept;
static JsiObjectRef Detach(PointerValue const *pv) noexcept;
};
struct PropNameIDPointerValue : DataPointerValue {
PropNameIDPointerValue(winrt::weak_ref &&weakRuntime, JsiPropertyIdRef &&propertyId) noexcept;
- void invalidate() override;
+ void invalidate() noexcept override;
static JsiPropertyIdRef const &GetData(PointerValue const *pv) noexcept;
static JsiPropertyIdRef Detach(PointerValue const *pv) noexcept;
};
diff --git a/vnext/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems b/vnext/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems
index 6c0504d1ff9..ad69cdec731 100644
--- a/vnext/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems
+++ b/vnext/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems
@@ -35,7 +35,7 @@
$(NodeApiJsiSrcDir);
%(AdditionalIncludeDirectories)
- JSI_VERSION=11;%(PreprocessorDefinitions)
+ JSI_VERSION=19;%(PreprocessorDefinitions)
$(MSBuildThisFileDirectory);%(AdditionalIncludeDirectories)
diff --git a/vnext/Microsoft.ReactNative/JsiApi.cpp b/vnext/Microsoft.ReactNative/JsiApi.cpp
index 10662d7e974..eee8ea21a28 100644
--- a/vnext/Microsoft.ReactNative/JsiApi.cpp
+++ b/vnext/Microsoft.ReactNative/JsiApi.cpp
@@ -553,6 +553,14 @@ bool JsiRuntime::DrainMicrotasks(int32_t maxMicrotasksHint) try {
throw;
}
+void JsiRuntime::QueueMicrotask(JsiObjectRef callback) try {
+ auto funcPtr = RuntimeAccessor::AsPointerValue(callback);
+ auto const &jsiFunc = RuntimeAccessor::AsFunction(&funcPtr);
+ m_runtimeAccessor->queueMicrotask(jsiFunc);
+} catch (JSI_SET_ERROR) {
+ throw;
+}
+
JsiObjectRef JsiRuntime::Global() try {
return PointerAccessor::MakeJsiObjectData(m_runtimeAccessor->global());
} catch (JSI_SET_ERROR) {
diff --git a/vnext/Microsoft.ReactNative/JsiApi.h b/vnext/Microsoft.ReactNative/JsiApi.h
index 193075c01a1..3f080e04852 100644
--- a/vnext/Microsoft.ReactNative/JsiApi.h
+++ b/vnext/Microsoft.ReactNative/JsiApi.h
@@ -77,6 +77,7 @@ struct JsiRuntime : JsiRuntimeT {
ReactNative::JsiPreparedJavaScript PrepareJavaScript(IJsiByteBuffer const &buffer, hstring const &sourceUrl);
JsiValueRef EvaluatePreparedJavaScript(ReactNative::JsiPreparedJavaScript const &js);
bool DrainMicrotasks(int32_t maxMicrotasksHint);
+ void QueueMicrotask(JsiObjectRef callback);
JsiObjectRef Global();
hstring Description();
bool IsInspectable();
diff --git a/vnext/Microsoft.ReactNative/JsiApi.idl b/vnext/Microsoft.ReactNative/JsiApi.idl
index d3418b48c35..e3a1f3db42c 100644
--- a/vnext/Microsoft.ReactNative/JsiApi.idl
+++ b/vnext/Microsoft.ReactNative/JsiApi.idl
@@ -249,6 +249,7 @@ namespace Microsoft.ReactNative
JsiPreparedJavaScript PrepareJavaScript(IJsiByteBuffer buffer, String sourceUrl);
JsiValueRef EvaluatePreparedJavaScript(JsiPreparedJavaScript js);
Boolean DrainMicrotasks(Int32 maxMicrotasksHint);
+ void QueueMicrotask(JsiObjectRef callback);
JsiObjectRef Global { get; };
String Description { get; };
Boolean IsInspectable { get; };
diff --git a/vnext/PropertySheets/React.Cpp.props b/vnext/PropertySheets/React.Cpp.props
index 0fdd907d912..fe6b132e839 100644
--- a/vnext/PropertySheets/React.Cpp.props
+++ b/vnext/PropertySheets/React.Cpp.props
@@ -65,7 +65,7 @@
ENABLE_DEVSERVER_HBCBUNDLES;%(PreprocessorDefinitions)
USE_V8;%(PreprocessorDefinitions)
USE_FABRIC;%(PreprocessorDefinitions)
- JSI_VERSION=11;%(PreprocessorDefinitions)
+ JSI_VERSION=19;%(PreprocessorDefinitions)
-
+
diff --git a/vnext/Shared/TurboModuleManager.cpp b/vnext/Shared/TurboModuleManager.cpp
index f54debd48bc..64b45f2b04f 100644
--- a/vnext/Shared/TurboModuleManager.cpp
+++ b/vnext/Shared/TurboModuleManager.cpp
@@ -11,21 +11,6 @@
namespace facebook::react {
-#ifdef USE_FABRIC
-
-NativeMicrotasks::NativeMicrotasks(std::shared_ptr jsInvoker)
- : NativeMicrotasksCxxSpec(std::move(jsInvoker)) {}
-
-void NativeMicrotasks::queueMicrotask(jsi::Runtime &runtime, jsi::Function callback) {
- assert(false);
- // Currently using a version of hermes/jsi without queueMicrotask
- // When we update JSI we can remove all the Microtask code from here, and just rely on the implementation of
- // the NativeMicrotasks TurboModule from the core NativeMicrotasks.cpp file
- // runtime.queueMicrotask(callback);
-}
-
-#endif
-
TurboModuleManager::TurboModuleManager(
std::shared_ptr turboModuleRegistry,
std::shared_ptr callInvoker)
From 88e06e517935857fd26d733265f2b044c3736a16 Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Thu, 1 May 2025 16:26:27 -0700
Subject: [PATCH 04/19] Opt into microtasks
---
vnext/Microsoft.ReactNative/ReactHost/ReactHost.cpp | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/vnext/Microsoft.ReactNative/ReactHost/ReactHost.cpp b/vnext/Microsoft.ReactNative/ReactHost/ReactHost.cpp
index cdaa7999813..522dd6de701 100644
--- a/vnext/Microsoft.ReactNative/ReactHost/ReactHost.cpp
+++ b/vnext/Microsoft.ReactNative/ReactHost/ReactHost.cpp
@@ -283,7 +283,15 @@ bool ReactOptions::EnableDefaultCrashHandler() const noexcept {
class ReactNativeWindowsFeatureFlags : public facebook::react::ReactNativeFeatureFlagsDefaults {
public:
bool disableEventLoopOnBridgeless() override {
- return true; // Disable event loop until we are on a JSI version that supports microtasks
+ return GetRuntimeOptionBool("ReactFeatureFlag.enableEventLoopOnBridgeless");
+ }
+
+ bool enableBridgelessArchitecture() override {
+#ifdef USE_FABRIC
+ return true;
+#else
+ return false;
+#endif
}
bool enableCppPropsIteratorSetter() override {
From c9965afd8df1e505f2983a1cbebf1f167a9b9b83 Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Thu, 1 May 2025 16:29:55 -0700
Subject: [PATCH 05/19] buidl fix
---
vnext/Microsoft.ReactNative/ReactHost/ReactHost.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/vnext/Microsoft.ReactNative/ReactHost/ReactHost.cpp b/vnext/Microsoft.ReactNative/ReactHost/ReactHost.cpp
index 522dd6de701..4b9d6cbf082 100644
--- a/vnext/Microsoft.ReactNative/ReactHost/ReactHost.cpp
+++ b/vnext/Microsoft.ReactNative/ReactHost/ReactHost.cpp
@@ -6,6 +6,8 @@
#include
#include
+#include
+
#include
#include
@@ -283,7 +285,7 @@ bool ReactOptions::EnableDefaultCrashHandler() const noexcept {
class ReactNativeWindowsFeatureFlags : public facebook::react::ReactNativeFeatureFlagsDefaults {
public:
bool disableEventLoopOnBridgeless() override {
- return GetRuntimeOptionBool("ReactFeatureFlag.enableEventLoopOnBridgeless");
+ return Microsoft::React::GetRuntimeOptionBool("ReactFeatureFlag.enableEventLoopOnBridgeless");
}
bool enableBridgelessArchitecture() override {
From f10dc51d4b96ea569a3f370a161adc60d8216672 Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Thu, 1 May 2025 16:55:33 -0700
Subject: [PATCH 06/19] update playground packages.lock with the script
---
.../packages.lock.json | 233 +++++++++++++++++-
1 file changed, 221 insertions(+), 12 deletions(-)
diff --git a/packages/playground/windows/playground-composition.Package/packages.lock.json b/packages/playground/windows/playground-composition.Package/packages.lock.json
index 99870dd293c..a15cca59807 100644
--- a/packages/playground/windows/playground-composition.Package/packages.lock.json
+++ b/packages/playground/windows/playground-composition.Package/packages.lock.json
@@ -2,8 +2,64 @@
"version": 1,
"dependencies": {
"UAP,Version=v10.0.17763": {
+ "boost": {
+ "type": "Transitive",
+ "resolved": "1.83.0",
+ "contentHash": "cy53VNMzysEMvhBixDe8ujPk67Fcj3v6FPHQnH91NYJNLHpc6jxa2xq9ruCaaJjE4M3YrGSHDi4uUSTGBWw6EQ=="
+ },
+ "Microsoft.Build.Tasks.Git": {
+ "type": "Transitive",
+ "resolved": "1.1.1",
+ "contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q=="
+ },
+ "Microsoft.JavaScript.Hermes": {
+ "type": "Transitive",
+ "resolved": "0.0.0-2505.1001-6aa014c6",
+ "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ },
+ "Microsoft.SourceLink.Common": {
+ "type": "Transitive",
+ "resolved": "1.1.1",
+ "contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
+ },
+ "Microsoft.SourceLink.GitHub": {
+ "type": "Transitive",
+ "resolved": "1.1.1",
+ "contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==",
+ "dependencies": {
+ "Microsoft.Build.Tasks.Git": "1.1.1",
+ "Microsoft.SourceLink.Common": "1.1.1"
+ }
+ },
+ "Microsoft.VCRTForwarders.140": {
+ "type": "Transitive",
+ "resolved": "1.0.2-rc",
+ "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
+ },
+ "Microsoft.Web.WebView2": {
+ "type": "Transitive",
+ "resolved": "1.0.2903.40",
+ "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
+ },
+ "Microsoft.Windows.SDK.BuildTools": {
+ "type": "Transitive",
+ "resolved": "10.0.22621.756",
+ "contentHash": "7ZL2sFSioYm1Ry067Kw1hg0SCcW5kuVezC2SwjGbcPE61Nn+gTbH86T73G3LcEOVj0S3IZzNuE/29gZvOLS7VA=="
+ },
+ "Microsoft.WindowsAppSDK": {
+ "type": "Transitive",
+ "resolved": "1.7.250401001",
+ "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
+ "dependencies": {
+ "Microsoft.Web.WebView2": "1.0.2903.40",
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
+ }
+ },
"common": {
- "type": "Project"
+ "type": "Project",
+ "dependencies": {
+ "boost": "[1.83.0, )"
+ }
},
"fmt": {
"type": "Project"
@@ -11,6 +67,7 @@
"folly": {
"type": "Project",
"dependencies": {
+ "boost": "[1.83.0, )",
"fmt": "[1.0.0, )"
}
},
@@ -19,35 +76,187 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "ReactCommon": "[1.0.0, )"
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.SourceLink.GitHub": "[1.1.1, )",
+ "Microsoft.WindowsAppSDK": "[1.7.250401001, )",
+ "ReactCommon": "[1.0.0, )",
+ "boost": "[1.83.0, )"
}
},
"playground-composition": {
"type": "Project",
"dependencies": {
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
"Microsoft.ReactNative": "[1.0.0, )",
- "SampleCustomComponent": "[1.0.0, )"
+ "Microsoft.VCRTForwarders.140": "[1.0.2-rc, )",
+ "Microsoft.WindowsAppSDK": "[1.7.250401001, )",
+ "SampleCustomComponent": "[1.0.0, )",
+ "boost": "[1.83.0, )"
}
},
"reactcommon": {
"type": "Project",
"dependencies": {
- "Folly": "[1.0.0, )"
+ "Folly": "[1.0.0, )",
+ "boost": "[1.83.0, )"
}
},
"samplecustomcomponent": {
"type": "Project",
"dependencies": {
- "Microsoft.ReactNative": "[1.0.0, )"
+ "Microsoft.ReactNative": "[1.0.0, )",
+ "Microsoft.VCRTForwarders.140": "[1.0.2-rc, )",
+ "Microsoft.WindowsAppSDK": "[1.7.250401001, )",
+ "boost": "[1.83.0, )"
+ }
+ }
+ },
+ "UAP,Version=v10.0.17763/win10-arm": {
+ "Microsoft.VCRTForwarders.140": {
+ "type": "Transitive",
+ "resolved": "1.0.2-rc",
+ "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
+ },
+ "Microsoft.Web.WebView2": {
+ "type": "Transitive",
+ "resolved": "1.0.2903.40",
+ "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
+ },
+ "Microsoft.WindowsAppSDK": {
+ "type": "Transitive",
+ "resolved": "1.7.250401001",
+ "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
+ "dependencies": {
+ "Microsoft.Web.WebView2": "1.0.2903.40",
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
+ }
+ }
+ },
+ "UAP,Version=v10.0.17763/win10-arm-aot": {
+ "Microsoft.VCRTForwarders.140": {
+ "type": "Transitive",
+ "resolved": "1.0.2-rc",
+ "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
+ },
+ "Microsoft.Web.WebView2": {
+ "type": "Transitive",
+ "resolved": "1.0.2903.40",
+ "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
+ },
+ "Microsoft.WindowsAppSDK": {
+ "type": "Transitive",
+ "resolved": "1.7.250401001",
+ "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
+ "dependencies": {
+ "Microsoft.Web.WebView2": "1.0.2903.40",
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
+ }
+ }
+ },
+ "UAP,Version=v10.0.17763/win10-arm64-aot": {
+ "Microsoft.VCRTForwarders.140": {
+ "type": "Transitive",
+ "resolved": "1.0.2-rc",
+ "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
+ },
+ "Microsoft.Web.WebView2": {
+ "type": "Transitive",
+ "resolved": "1.0.2903.40",
+ "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
+ },
+ "Microsoft.WindowsAppSDK": {
+ "type": "Transitive",
+ "resolved": "1.7.250401001",
+ "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
+ "dependencies": {
+ "Microsoft.Web.WebView2": "1.0.2903.40",
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
+ }
+ }
+ },
+ "UAP,Version=v10.0.17763/win10-x64": {
+ "Microsoft.VCRTForwarders.140": {
+ "type": "Transitive",
+ "resolved": "1.0.2-rc",
+ "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
+ },
+ "Microsoft.Web.WebView2": {
+ "type": "Transitive",
+ "resolved": "1.0.2903.40",
+ "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
+ },
+ "Microsoft.WindowsAppSDK": {
+ "type": "Transitive",
+ "resolved": "1.7.250401001",
+ "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
+ "dependencies": {
+ "Microsoft.Web.WebView2": "1.0.2903.40",
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
+ }
+ }
+ },
+ "UAP,Version=v10.0.17763/win10-x64-aot": {
+ "Microsoft.VCRTForwarders.140": {
+ "type": "Transitive",
+ "resolved": "1.0.2-rc",
+ "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
+ },
+ "Microsoft.Web.WebView2": {
+ "type": "Transitive",
+ "resolved": "1.0.2903.40",
+ "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
+ },
+ "Microsoft.WindowsAppSDK": {
+ "type": "Transitive",
+ "resolved": "1.7.250401001",
+ "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
+ "dependencies": {
+ "Microsoft.Web.WebView2": "1.0.2903.40",
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
}
}
},
- "UAP,Version=v10.0.17763/win10-arm": {},
- "UAP,Version=v10.0.17763/win10-arm-aot": {},
- "UAP,Version=v10.0.17763/win10-arm64-aot": {},
- "UAP,Version=v10.0.17763/win10-x64": {},
- "UAP,Version=v10.0.17763/win10-x64-aot": {},
- "UAP,Version=v10.0.17763/win10-x86": {},
- "UAP,Version=v10.0.17763/win10-x86-aot": {}
+ "UAP,Version=v10.0.17763/win10-x86": {
+ "Microsoft.VCRTForwarders.140": {
+ "type": "Transitive",
+ "resolved": "1.0.2-rc",
+ "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
+ },
+ "Microsoft.Web.WebView2": {
+ "type": "Transitive",
+ "resolved": "1.0.2903.40",
+ "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
+ },
+ "Microsoft.WindowsAppSDK": {
+ "type": "Transitive",
+ "resolved": "1.7.250401001",
+ "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
+ "dependencies": {
+ "Microsoft.Web.WebView2": "1.0.2903.40",
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
+ }
+ }
+ },
+ "UAP,Version=v10.0.17763/win10-x86-aot": {
+ "Microsoft.VCRTForwarders.140": {
+ "type": "Transitive",
+ "resolved": "1.0.2-rc",
+ "contentHash": "/r+sjtEeCIGyDhobIZ5hSmYhC/dSyGZxf1SxYJpElUhB0LMCktOMFs9gXrauXypIFECpVynNyVjAmJt6hjJ5oQ=="
+ },
+ "Microsoft.Web.WebView2": {
+ "type": "Transitive",
+ "resolved": "1.0.2903.40",
+ "contentHash": "THrzYAnJgE3+cNH+9Epr44XjoZoRELdVpXlWGPs6K9C9G6TqyDfVCeVAR/Er8ljLitIUX5gaSkPsy9wRhD1sgQ=="
+ },
+ "Microsoft.WindowsAppSDK": {
+ "type": "Transitive",
+ "resolved": "1.7.250401001",
+ "contentHash": "kPsJ2LZoo3Xs/6FtIWMZRGnQ2ZMx9zDa0ZpqRGz1qwZr0gwwlXZJTmngaA1Ym2AHmIa05NtX2jEE2He8CzfhTg==",
+ "dependencies": {
+ "Microsoft.Web.WebView2": "1.0.2903.40",
+ "Microsoft.Windows.SDK.BuildTools": "10.0.22621.756"
+ }
+ }
+ }
}
}
\ No newline at end of file
From 50c64683add6f791a196de0be36be5c85ba462b0 Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Thu, 1 May 2025 21:00:15 -0700
Subject: [PATCH 07/19] temp: gather crash dmp
---
.ado/templates/upload-build-logs.yml | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/.ado/templates/upload-build-logs.yml b/.ado/templates/upload-build-logs.yml
index cf2d04737ab..02599e3f10d 100644
--- a/.ado/templates/upload-build-logs.yml
+++ b/.ado/templates/upload-build-logs.yml
@@ -45,10 +45,9 @@ steps:
$HasCrashDumps = (Get-ChildItem -Path $(CrashDumpRootPath) -File -Recurse | Measure-Object).Count -gt 0;
Write-Host "##vso[task.setvariable variable=HasCrashDumps]$HasCrashDumps";
- - ${{ if not(parameters.oneESMode) }}:
- - task: PublishBuildArtifacts@1
- displayName: Upload crash dumps
- condition: and(succeededOrFailed(), ${{ parameters.uploadCrashDumps }}, eq(variables.HasCrashDumps, 'True'), not(parameters.oneESMode))
- inputs:
- pathtoPublish: '$(CrashDumpRootPath)'
- artifactName: 'Crash dumps - ${{ parameters.artifactName }}'
+ - task: PublishBuildArtifacts@1
+ displayName: Upload crash dumps
+ condition: succeededOrFailed()
+ inputs:
+ pathtoPublish: '$(CrashDumpRootPath)'
+ artifactName: 'Crash dumps - ${{ parameters.artifactName }}'
From 8c2fe3376c6fef9326261e3f3f88071f6713fdfb Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Fri, 2 May 2025 08:44:48 -0700
Subject: [PATCH 08/19] try larger machine
---
.ado/jobs/e2e-test.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.ado/jobs/e2e-test.yml b/.ado/jobs/e2e-test.yml
index aae1bd54e31..88bafb648b2 100644
--- a/.ado/jobs/e2e-test.yml
+++ b/.ado/jobs/e2e-test.yml
@@ -160,7 +160,7 @@ jobs:
displayName: E2E Test App Fabric ${{ matrix.Name }}
variables: [template: ../variables/windows.yml]
- pool: ${{ parameters.AgentPool.Medium }}
+ pool: ${{ parameters.AgentPool.Large }}
timeoutInMinutes: 60 # how long to run the job before automatically cancelling
cancelTimeoutInMinutes: 5 # how much time to give 'run always even if cancelled tasks' before killing them
From 20a57269b370a398d7fc05db1781570ff3a35b51 Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Fri, 2 May 2025 10:26:38 -0700
Subject: [PATCH 09/19] Pickup
https://github.com/microsoft/node-api-jsi/pull/13
---
vnext/Directory.Build.props | 2 +-
.../Microsoft.ReactNative.Cxx.vcxitems | 2 +-
vnext/ReactCommon/cgmanifest.json | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/vnext/Directory.Build.props b/vnext/Directory.Build.props
index e5f32175e9f..373ea4d5bdb 100644
--- a/vnext/Directory.Build.props
+++ b/vnext/Directory.Build.props
@@ -26,7 +26,7 @@
10.1.0
ca2e3685b160617d3d95fcd9e789c4e06ca88
- c961df09276263f52b36abe172d9664425d935f5
+ 980cb60d7911237d0f647fc566543ef627adac70
$(MSBuildThisFileDirectory)stubs
- c961df09276263f52b36abe172d9664425d935f5
+ 980cb60d7911237d0f647fc566543ef627adac70
true
$(MSBuildThisFileDirectory)
$(ReactNativeDir)\..\..\node_modules\.node-api-jsi\node-api-jsi-$(NodeApiJsiCommitHash)\
diff --git a/vnext/ReactCommon/cgmanifest.json b/vnext/ReactCommon/cgmanifest.json
index 5caad665df6..7644e64a4d1 100644
--- a/vnext/ReactCommon/cgmanifest.json
+++ b/vnext/ReactCommon/cgmanifest.json
@@ -6,7 +6,7 @@
"Type": "git",
"Git": {
"RepositoryUrl": "https://github.com/microsoft/node-api-jsi",
- "CommitHash": "c961df09276263f52b36abe172d9664425d935f5"
+ "CommitHash": "980cb60d7911237d0f647fc566543ef627adac70"
}
},
"DevelopmentDependency": false
From 6f6bce2cc1490b67569ac4a48b6781754810aaae Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Fri, 2 May 2025 11:05:29 -0700
Subject: [PATCH 10/19] Update hermes with uap nuget fix
---
.ado/templates/upload-build-logs.yml | 13 +++++++------
.../AutomationChannel/packages.chakra.lock.json | 6 +++---
.../windows/AutomationChannel/packages.lock.json | 6 +++---
.../AutomationChannel/packages.newarch.lock.json | 6 +++---
.../test/__snapshots__/HomeUIADump.test.ts.snap | 8 ++++----
.../RNTesterApp-Fabric.Package/packages.lock.json | 8 ++++----
.../windows/RNTesterApp-Fabric/packages.lock.json | 8 ++++----
.../windows/RNTesterApp/packages.chakra.lock.json | 6 +++---
.../windows/RNTesterApp/packages.lock.json | 8 ++++----
.../InteropTestModuleCS/packages.chakra.lock.json | 6 +++---
.../windows/InteropTestModuleCS/packages.lock.json | 6 +++---
.../integrationtest/packages.chakra.lock.json | 6 +++---
.../windows/integrationtest/packages.lock.json | 8 ++++----
.../PlaygroundNativeModules/packages.lock.json | 6 +++---
.../packages.experimentalwinui3.lock.json | 8 ++++----
.../packages.lock.json | 8 ++++----
.../packages.experimentalwinui3.lock.json | 8 ++++----
.../playground-composition/packages.lock.json | 8 ++++----
.../windows/playground/packages.lock.json | 8 ++++----
.../SampleAppFabric.Package/packages.lock.json | 8 ++++----
.../windows/SampleAppFabric/packages.lock.json | 8 ++++----
.../windows/SampleAppCPP/packages.lock.json | 8 ++++----
.../windows/SampleAppCS/packages.lock.json | 8 ++++----
.../windows/SampleLibraryCPP/packages.lock.json | 6 +++---
.../windows/SampleLibraryCS/packages.lock.json | 6 +++---
.../packages.experimentalwinui3.lock.json | 6 +++---
.../SampleCustomComponent/packages.lock.json | 6 +++---
.../packages.experimentalwinui3.lock.json | 8 ++++----
vnext/Desktop.ABITests/packages.lock.json | 8 ++++----
.../packages.experimentalwinui3.lock.json | 8 ++++----
vnext/Desktop.DLL/packages.lock.json | 8 ++++----
.../packages.experimentalwinui3.lock.json | 8 ++++----
vnext/Desktop.IntegrationTests/packages.lock.json | 8 ++++----
.../packages.experimentalwinui3.lock.json | 6 +++---
vnext/Desktop.UnitTests/packages.lock.json | 6 +++---
vnext/Desktop/packages.experimentalwinui3.lock.json | 6 +++---
vnext/Desktop/packages.lock.json | 6 +++---
.../packages.experimentalwinui3.lock.json | 6 +++---
.../packages.lock.json | 6 +++---
.../packages.experimentalwinui3.lock.json | 6 +++---
.../packages.lock.json | 6 +++---
.../packages.newarch.experimentalwinui3.lock.json | 6 +++---
.../packages.newarch.lock.json | 6 +++---
.../packages.lock.json | 6 +++---
.../packages.lock.json | 6 +++---
.../packages.lock.json | 6 +++---
.../Microsoft.ReactNative/packages.chakra.lock.json | 6 +++---
.../packages.experimentalwinui3.lock.json | 6 +++---
vnext/Microsoft.ReactNative/packages.lock.json | 6 +++---
.../packages.newarch.experimentalwinui3.lock.json | 6 +++---
.../packages.newarch.lock.json | 6 +++---
vnext/PropertySheets/JSEngine.props | 2 +-
.../packages.experimentalwinui3.lock.json | 6 +++---
vnext/ReactCommon.UnitTests/packages.lock.json | 6 +++---
54 files changed, 184 insertions(+), 183 deletions(-)
diff --git a/.ado/templates/upload-build-logs.yml b/.ado/templates/upload-build-logs.yml
index 02599e3f10d..cf2d04737ab 100644
--- a/.ado/templates/upload-build-logs.yml
+++ b/.ado/templates/upload-build-logs.yml
@@ -45,9 +45,10 @@ steps:
$HasCrashDumps = (Get-ChildItem -Path $(CrashDumpRootPath) -File -Recurse | Measure-Object).Count -gt 0;
Write-Host "##vso[task.setvariable variable=HasCrashDumps]$HasCrashDumps";
- - task: PublishBuildArtifacts@1
- displayName: Upload crash dumps
- condition: succeededOrFailed()
- inputs:
- pathtoPublish: '$(CrashDumpRootPath)'
- artifactName: 'Crash dumps - ${{ parameters.artifactName }}'
+ - ${{ if not(parameters.oneESMode) }}:
+ - task: PublishBuildArtifacts@1
+ displayName: Upload crash dumps
+ condition: and(succeededOrFailed(), ${{ parameters.uploadCrashDumps }}, eq(variables.HasCrashDumps, 'True'), not(parameters.oneESMode))
+ inputs:
+ pathtoPublish: '$(CrashDumpRootPath)'
+ artifactName: 'Crash dumps - ${{ parameters.artifactName }}'
diff --git a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.chakra.lock.json b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.chakra.lock.json
index c7a92f44661..091352742c4 100644
--- a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.chakra.lock.json
+++ b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.chakra.lock.json
@@ -29,8 +29,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -72,7 +72,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.lock.json b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.lock.json
index c7a92f44661..091352742c4 100644
--- a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.lock.json
+++ b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.lock.json
@@ -29,8 +29,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -72,7 +72,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.newarch.lock.json b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.newarch.lock.json
index 27ad5d3a856..88a18eb0b26 100644
--- a/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.newarch.lock.json
+++ b/packages/@react-native-windows/automation-channel/windows/AutomationChannel/packages.newarch.lock.json
@@ -37,8 +37,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -85,7 +85,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
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 9861f83e39e..204104d7ef8 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
@@ -721,12 +721,12 @@ exports[`Home UIA Tree Dump AppState 1`] = `
"__Children": [
{
"Offset": "16, 16, 0",
- "Size": "73, 25",
+ "Size": "73, 24",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
- "Size": "73, 25",
+ "Size": "73, 24",
"Visual Type": "SpriteVisual",
},
],
@@ -802,12 +802,12 @@ exports[`Home UIA Tree Dump Appearance 1`] = `
"__Children": [
{
"Offset": "16, 16, 0",
- "Size": "95, 24",
+ "Size": "95, 25",
"Visual Type": "SpriteVisual",
"__Children": [
{
"Offset": "0, 0, 0",
- "Size": "95, 24",
+ "Size": "95, 25",
"Visual Type": "SpriteVisual",
},
],
diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.Package/packages.lock.json b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.Package/packages.lock.json
index 668f3c60d98..e75dd28fcc9 100644
--- a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.Package/packages.lock.json
+++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric.Package/packages.lock.json
@@ -14,8 +14,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -85,7 +85,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
@@ -103,7 +103,7 @@
"type": "Project",
"dependencies": {
"AutomationChannel": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.ReactNative": "[1.0.0, )",
"Microsoft.VCRTForwarders.140": "[1.0.2-rc, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
diff --git a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/packages.lock.json b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/packages.lock.json
index d5f629271b9..72ce10d311b 100644
--- a/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/packages.lock.json
+++ b/packages/e2e-test-app-fabric/windows/RNTesterApp-Fabric/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.VCRTForwarders.140": {
"type": "Direct",
@@ -95,7 +95,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/e2e-test-app/windows/RNTesterApp/packages.chakra.lock.json b/packages/e2e-test-app/windows/RNTesterApp/packages.chakra.lock.json
index 923c6bfc4b1..1298ee91e66 100644
--- a/packages/e2e-test-app/windows/RNTesterApp/packages.chakra.lock.json
+++ b/packages/e2e-test-app/windows/RNTesterApp/packages.chakra.lock.json
@@ -46,8 +46,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -197,7 +197,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/e2e-test-app/windows/RNTesterApp/packages.lock.json b/packages/e2e-test-app/windows/RNTesterApp/packages.lock.json
index 580f2b7449b..4dac7070481 100644
--- a/packages/e2e-test-app/windows/RNTesterApp/packages.lock.json
+++ b/packages/e2e-test-app/windows/RNTesterApp/packages.lock.json
@@ -4,9 +4,9 @@
"UAP,Version=v10.0.17763": {
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.NETCore.UniversalWindowsPlatform": {
"type": "Direct",
@@ -198,7 +198,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/integration-test-app/windows/InteropTestModuleCS/packages.chakra.lock.json b/packages/integration-test-app/windows/InteropTestModuleCS/packages.chakra.lock.json
index 3506313d3a8..98062fb9eed 100644
--- a/packages/integration-test-app/windows/InteropTestModuleCS/packages.chakra.lock.json
+++ b/packages/integration-test-app/windows/InteropTestModuleCS/packages.chakra.lock.json
@@ -26,8 +26,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -178,7 +178,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/integration-test-app/windows/InteropTestModuleCS/packages.lock.json b/packages/integration-test-app/windows/InteropTestModuleCS/packages.lock.json
index 3506313d3a8..98062fb9eed 100644
--- a/packages/integration-test-app/windows/InteropTestModuleCS/packages.lock.json
+++ b/packages/integration-test-app/windows/InteropTestModuleCS/packages.lock.json
@@ -26,8 +26,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -178,7 +178,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/integration-test-app/windows/integrationtest/packages.chakra.lock.json b/packages/integration-test-app/windows/integrationtest/packages.chakra.lock.json
index 530fbfee70d..828eabed2c8 100644
--- a/packages/integration-test-app/windows/integrationtest/packages.chakra.lock.json
+++ b/packages/integration-test-app/windows/integrationtest/packages.chakra.lock.json
@@ -29,8 +29,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -199,7 +199,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/integration-test-app/windows/integrationtest/packages.lock.json b/packages/integration-test-app/windows/integrationtest/packages.lock.json
index 8dc30e2a8b8..c885f8e587a 100644
--- a/packages/integration-test-app/windows/integrationtest/packages.lock.json
+++ b/packages/integration-test-app/windows/integrationtest/packages.lock.json
@@ -4,9 +4,9 @@
"native,Version=v0.0": {
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.UI.Xaml": {
"type": "Direct",
@@ -200,7 +200,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/playground/windows/PlaygroundNativeModules/packages.lock.json b/packages/playground/windows/PlaygroundNativeModules/packages.lock.json
index c7a92f44661..091352742c4 100644
--- a/packages/playground/windows/PlaygroundNativeModules/packages.lock.json
+++ b/packages/playground/windows/PlaygroundNativeModules/packages.lock.json
@@ -29,8 +29,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -72,7 +72,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/playground/windows/playground-composition.Package/packages.experimentalwinui3.lock.json b/packages/playground/windows/playground-composition.Package/packages.experimentalwinui3.lock.json
index f0c30f82fd8..54a47aafc49 100644
--- a/packages/playground/windows/playground-composition.Package/packages.experimentalwinui3.lock.json
+++ b/packages/playground/windows/playground-composition.Package/packages.experimentalwinui3.lock.json
@@ -14,8 +14,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -76,7 +76,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
"ReactCommon": "[1.0.0, )",
@@ -86,7 +86,7 @@
"playground-composition": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.ReactNative": "[1.0.0, )",
"Microsoft.VCRTForwarders.140": "[1.0.2-rc, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
diff --git a/packages/playground/windows/playground-composition.Package/packages.lock.json b/packages/playground/windows/playground-composition.Package/packages.lock.json
index a15cca59807..a23f348d7fa 100644
--- a/packages/playground/windows/playground-composition.Package/packages.lock.json
+++ b/packages/playground/windows/playground-composition.Package/packages.lock.json
@@ -14,8 +14,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -76,7 +76,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
@@ -86,7 +86,7 @@
"playground-composition": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.ReactNative": "[1.0.0, )",
"Microsoft.VCRTForwarders.140": "[1.0.2-rc, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
diff --git a/packages/playground/windows/playground-composition/packages.experimentalwinui3.lock.json b/packages/playground/windows/playground-composition/packages.experimentalwinui3.lock.json
index 0eae5cb8aaa..143b98b49da 100644
--- a/packages/playground/windows/playground-composition/packages.experimentalwinui3.lock.json
+++ b/packages/playground/windows/playground-composition/packages.experimentalwinui3.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.VCRTForwarders.140": {
"type": "Direct",
@@ -86,7 +86,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/playground/windows/playground-composition/packages.lock.json b/packages/playground/windows/playground-composition/packages.lock.json
index 29179fcf0ab..df9b70406dd 100644
--- a/packages/playground/windows/playground-composition/packages.lock.json
+++ b/packages/playground/windows/playground-composition/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.VCRTForwarders.140": {
"type": "Direct",
@@ -86,7 +86,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/playground/windows/playground/packages.lock.json b/packages/playground/windows/playground/packages.lock.json
index a00de473e9c..5c69020f59f 100644
--- a/packages/playground/windows/playground/packages.lock.json
+++ b/packages/playground/windows/playground/packages.lock.json
@@ -4,9 +4,9 @@
"native,Version=v0.0": {
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.UI.Xaml": {
"type": "Direct",
@@ -73,7 +73,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-app-fabric/windows/SampleAppFabric.Package/packages.lock.json b/packages/sample-app-fabric/windows/SampleAppFabric.Package/packages.lock.json
index de61dc42a65..7d84a365b4f 100644
--- a/packages/sample-app-fabric/windows/SampleAppFabric.Package/packages.lock.json
+++ b/packages/sample-app-fabric/windows/SampleAppFabric.Package/packages.lock.json
@@ -14,8 +14,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -76,7 +76,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
@@ -93,7 +93,7 @@
"sampleappfabric": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.ReactNative": "[1.0.0, )",
"Microsoft.VCRTForwarders.140": "[1.0.2-rc, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
diff --git a/packages/sample-app-fabric/windows/SampleAppFabric/packages.lock.json b/packages/sample-app-fabric/windows/SampleAppFabric/packages.lock.json
index 627958ace96..48426cb9ce0 100644
--- a/packages/sample-app-fabric/windows/SampleAppFabric/packages.lock.json
+++ b/packages/sample-app-fabric/windows/SampleAppFabric/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.VCRTForwarders.140": {
"type": "Direct",
@@ -86,7 +86,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-apps/windows/SampleAppCPP/packages.lock.json b/packages/sample-apps/windows/SampleAppCPP/packages.lock.json
index 877bd534bc6..b630317fbe8 100644
--- a/packages/sample-apps/windows/SampleAppCPP/packages.lock.json
+++ b/packages/sample-apps/windows/SampleAppCPP/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.UI.Xaml": {
"type": "Direct",
@@ -186,7 +186,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-apps/windows/SampleAppCS/packages.lock.json b/packages/sample-apps/windows/SampleAppCS/packages.lock.json
index a0e7f551b81..556fb03525f 100644
--- a/packages/sample-apps/windows/SampleAppCS/packages.lock.json
+++ b/packages/sample-apps/windows/SampleAppCS/packages.lock.json
@@ -4,9 +4,9 @@
"UAP,Version=v10.0.17763": {
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.NETCore.UniversalWindowsPlatform": {
"type": "Direct",
@@ -180,7 +180,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-apps/windows/SampleLibraryCPP/packages.lock.json b/packages/sample-apps/windows/SampleLibraryCPP/packages.lock.json
index c7a92f44661..091352742c4 100644
--- a/packages/sample-apps/windows/SampleLibraryCPP/packages.lock.json
+++ b/packages/sample-apps/windows/SampleLibraryCPP/packages.lock.json
@@ -29,8 +29,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -72,7 +72,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-apps/windows/SampleLibraryCS/packages.lock.json b/packages/sample-apps/windows/SampleLibraryCS/packages.lock.json
index 3506313d3a8..98062fb9eed 100644
--- a/packages/sample-apps/windows/SampleLibraryCS/packages.lock.json
+++ b/packages/sample-apps/windows/SampleLibraryCS/packages.lock.json
@@ -26,8 +26,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -178,7 +178,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-custom-component/windows/SampleCustomComponent/packages.experimentalwinui3.lock.json b/packages/sample-custom-component/windows/SampleCustomComponent/packages.experimentalwinui3.lock.json
index 9f7d75fe92c..b868a531010 100644
--- a/packages/sample-custom-component/windows/SampleCustomComponent/packages.experimentalwinui3.lock.json
+++ b/packages/sample-custom-component/windows/SampleCustomComponent/packages.experimentalwinui3.lock.json
@@ -37,8 +37,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -85,7 +85,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
"ReactCommon": "[1.0.0, )",
diff --git a/packages/sample-custom-component/windows/SampleCustomComponent/packages.lock.json b/packages/sample-custom-component/windows/SampleCustomComponent/packages.lock.json
index 00a5a5a01ea..29fbc28aeda 100644
--- a/packages/sample-custom-component/windows/SampleCustomComponent/packages.lock.json
+++ b/packages/sample-custom-component/windows/SampleCustomComponent/packages.lock.json
@@ -37,8 +37,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -85,7 +85,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Desktop.ABITests/packages.experimentalwinui3.lock.json b/vnext/Desktop.ABITests/packages.experimentalwinui3.lock.json
index 4cc0622f73e..e0c1749a3d9 100644
--- a/vnext/Desktop.ABITests/packages.experimentalwinui3.lock.json
+++ b/vnext/Desktop.ABITests/packages.experimentalwinui3.lock.json
@@ -32,8 +32,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -96,7 +96,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
@@ -108,7 +108,7 @@
"react.windows.desktop.dll": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"React.Windows.Desktop": "[1.0.0, )",
"ReactNative.V8Jsi.Windows": "[0.71.8, )",
diff --git a/vnext/Desktop.ABITests/packages.lock.json b/vnext/Desktop.ABITests/packages.lock.json
index 31a607428d1..60d4d8a65eb 100644
--- a/vnext/Desktop.ABITests/packages.lock.json
+++ b/vnext/Desktop.ABITests/packages.lock.json
@@ -32,8 +32,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -96,7 +96,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
@@ -108,7 +108,7 @@
"react.windows.desktop.dll": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"React.Windows.Desktop": "[1.0.0, )",
"ReactNative.V8Jsi.Windows": "[0.71.8, )",
diff --git a/vnext/Desktop.DLL/packages.experimentalwinui3.lock.json b/vnext/Desktop.DLL/packages.experimentalwinui3.lock.json
index c99a00cd3fb..0d149f18d17 100644
--- a/vnext/Desktop.DLL/packages.experimentalwinui3.lock.json
+++ b/vnext/Desktop.DLL/packages.experimentalwinui3.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
@@ -87,7 +87,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
diff --git a/vnext/Desktop.DLL/packages.lock.json b/vnext/Desktop.DLL/packages.lock.json
index 359ffad50ba..cf3655879d1 100644
--- a/vnext/Desktop.DLL/packages.lock.json
+++ b/vnext/Desktop.DLL/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
@@ -87,7 +87,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
diff --git a/vnext/Desktop.IntegrationTests/packages.experimentalwinui3.lock.json b/vnext/Desktop.IntegrationTests/packages.experimentalwinui3.lock.json
index 4393b1cfca2..28010434691 100644
--- a/vnext/Desktop.IntegrationTests/packages.experimentalwinui3.lock.json
+++ b/vnext/Desktop.IntegrationTests/packages.experimentalwinui3.lock.json
@@ -39,8 +39,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -98,7 +98,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
@@ -110,7 +110,7 @@
"react.windows.desktop.dll": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"React.Windows.Desktop": "[1.0.0, )",
"ReactNative.V8Jsi.Windows": "[0.71.8, )",
diff --git a/vnext/Desktop.IntegrationTests/packages.lock.json b/vnext/Desktop.IntegrationTests/packages.lock.json
index 39426936f7f..8da4fb3d4d8 100644
--- a/vnext/Desktop.IntegrationTests/packages.lock.json
+++ b/vnext/Desktop.IntegrationTests/packages.lock.json
@@ -39,8 +39,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -98,7 +98,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
@@ -110,7 +110,7 @@
"react.windows.desktop.dll": {
"type": "Project",
"dependencies": {
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"React.Windows.Desktop": "[1.0.0, )",
"ReactNative.V8Jsi.Windows": "[0.71.8, )",
diff --git a/vnext/Desktop.UnitTests/packages.experimentalwinui3.lock.json b/vnext/Desktop.UnitTests/packages.experimentalwinui3.lock.json
index 8a1b85da1b1..c0f2dc1e163 100644
--- a/vnext/Desktop.UnitTests/packages.experimentalwinui3.lock.json
+++ b/vnext/Desktop.UnitTests/packages.experimentalwinui3.lock.json
@@ -27,8 +27,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -96,7 +96,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
diff --git a/vnext/Desktop.UnitTests/packages.lock.json b/vnext/Desktop.UnitTests/packages.lock.json
index d19f7bea83b..62ab93c2809 100644
--- a/vnext/Desktop.UnitTests/packages.lock.json
+++ b/vnext/Desktop.UnitTests/packages.lock.json
@@ -27,8 +27,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -96,7 +96,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
diff --git a/vnext/Desktop/packages.experimentalwinui3.lock.json b/vnext/Desktop/packages.experimentalwinui3.lock.json
index 034c6316d81..489cd101365 100644
--- a/vnext/Desktop/packages.experimentalwinui3.lock.json
+++ b/vnext/Desktop/packages.experimentalwinui3.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Desktop/packages.lock.json b/vnext/Desktop/packages.lock.json
index 6b4d74e452a..55d4a1196bd 100644
--- a/vnext/Desktop/packages.lock.json
+++ b/vnext/Desktop/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Microsoft.ReactNative.CsWinRT/packages.experimentalwinui3.lock.json b/vnext/Microsoft.ReactNative.CsWinRT/packages.experimentalwinui3.lock.json
index 8b3f79fc4ee..b2c05098350 100644
--- a/vnext/Microsoft.ReactNative.CsWinRT/packages.experimentalwinui3.lock.json
+++ b/vnext/Microsoft.ReactNative.CsWinRT/packages.experimentalwinui3.lock.json
@@ -30,8 +30,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -78,7 +78,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.CsWinRT/packages.lock.json b/vnext/Microsoft.ReactNative.CsWinRT/packages.lock.json
index 7151eec090a..724b8d612fe 100644
--- a/vnext/Microsoft.ReactNative.CsWinRT/packages.lock.json
+++ b/vnext/Microsoft.ReactNative.CsWinRT/packages.lock.json
@@ -30,8 +30,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -78,7 +78,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/packages.experimentalwinui3.lock.json b/vnext/Microsoft.ReactNative.IntegrationTests/packages.experimentalwinui3.lock.json
index a5bfb8e3a68..88e3b3b8302 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/packages.experimentalwinui3.lock.json
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/packages.experimentalwinui3.lock.json
@@ -33,8 +33,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -84,7 +84,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/packages.lock.json b/vnext/Microsoft.ReactNative.IntegrationTests/packages.lock.json
index a5bfb8e3a68..88e3b3b8302 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/packages.lock.json
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/packages.lock.json
@@ -33,8 +33,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -84,7 +84,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.experimentalwinui3.lock.json b/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.experimentalwinui3.lock.json
index df41571bab0..ada7ad87276 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.experimentalwinui3.lock.json
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.experimentalwinui3.lock.json
@@ -43,8 +43,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -91,7 +91,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.lock.json b/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.lock.json
index ed5a336d78b..599f7fe352e 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.lock.json
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/packages.newarch.lock.json
@@ -43,8 +43,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -91,7 +91,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json b/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json
index 313b6ccb976..e9032e277e4 100644
--- a/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json
+++ b/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json
@@ -56,8 +56,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -332,7 +332,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json b/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json
index 313b6ccb976..e9032e277e4 100644
--- a/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json
+++ b/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json
@@ -56,8 +56,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -332,7 +332,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative.Managed/packages.lock.json b/vnext/Microsoft.ReactNative.Managed/packages.lock.json
index 8c85ccdc607..97fba5a88fa 100644
--- a/vnext/Microsoft.ReactNative.Managed/packages.lock.json
+++ b/vnext/Microsoft.ReactNative.Managed/packages.lock.json
@@ -36,8 +36,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
@@ -179,7 +179,7 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"ReactCommon": "[1.0.0, )",
diff --git a/vnext/Microsoft.ReactNative/packages.chakra.lock.json b/vnext/Microsoft.ReactNative/packages.chakra.lock.json
index 054bc68d752..bd23518b301 100644
--- a/vnext/Microsoft.ReactNative/packages.chakra.lock.json
+++ b/vnext/Microsoft.ReactNative/packages.chakra.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Microsoft.ReactNative/packages.experimentalwinui3.lock.json b/vnext/Microsoft.ReactNative/packages.experimentalwinui3.lock.json
index 054bc68d752..bd23518b301 100644
--- a/vnext/Microsoft.ReactNative/packages.experimentalwinui3.lock.json
+++ b/vnext/Microsoft.ReactNative/packages.experimentalwinui3.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Microsoft.ReactNative/packages.lock.json b/vnext/Microsoft.ReactNative/packages.lock.json
index 054bc68d752..bd23518b301 100644
--- a/vnext/Microsoft.ReactNative/packages.lock.json
+++ b/vnext/Microsoft.ReactNative/packages.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Microsoft.ReactNative/packages.newarch.experimentalwinui3.lock.json b/vnext/Microsoft.ReactNative/packages.newarch.experimentalwinui3.lock.json
index f9c4e8f9015..e6e852aff5c 100644
--- a/vnext/Microsoft.ReactNative/packages.newarch.experimentalwinui3.lock.json
+++ b/vnext/Microsoft.ReactNative/packages.newarch.experimentalwinui3.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/Microsoft.ReactNative/packages.newarch.lock.json b/vnext/Microsoft.ReactNative/packages.newarch.lock.json
index 77c291cb8e1..24cffe8d1be 100644
--- a/vnext/Microsoft.ReactNative/packages.newarch.lock.json
+++ b/vnext/Microsoft.ReactNative/packages.newarch.lock.json
@@ -10,9 +10,9 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Direct",
- "requested": "[0.0.0-2505.1001-6aa014c6, )",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "requested": "[0.0.0-2505.2001-0e4bc3b9, )",
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.GitHub": {
"type": "Direct",
diff --git a/vnext/PropertySheets/JSEngine.props b/vnext/PropertySheets/JSEngine.props
index 60589e46070..a784057f813 100644
--- a/vnext/PropertySheets/JSEngine.props
+++ b/vnext/PropertySheets/JSEngine.props
@@ -6,7 +6,7 @@
true
- 0.0.0-2505.1001-6aa014c6
+ 0.0.0-2505.2001-0e4bc3b9
$(PkgMicrosoft_JavaScript_Hermes)
$(NuGetPackageRoot)\Microsoft.JavaScript.Hermes\$(HermesVersion)
false
diff --git a/vnext/ReactCommon.UnitTests/packages.experimentalwinui3.lock.json b/vnext/ReactCommon.UnitTests/packages.experimentalwinui3.lock.json
index 53ddab47559..83d625ce1fd 100644
--- a/vnext/ReactCommon.UnitTests/packages.experimentalwinui3.lock.json
+++ b/vnext/ReactCommon.UnitTests/packages.experimentalwinui3.lock.json
@@ -27,8 +27,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -91,7 +91,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250127003-experimental3, )",
diff --git a/vnext/ReactCommon.UnitTests/packages.lock.json b/vnext/ReactCommon.UnitTests/packages.lock.json
index 8c37a0fe472..e2b3300fe1e 100644
--- a/vnext/ReactCommon.UnitTests/packages.lock.json
+++ b/vnext/ReactCommon.UnitTests/packages.lock.json
@@ -27,8 +27,8 @@
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
- "resolved": "0.0.0-2505.1001-6aa014c6",
- "contentHash": "Xjp1BKHzPvZLYtlx8wSYhixnl7yujq2rvTzNMFx8UcgZnPUSaxQXsyKgcQ9Wc8pVpsORpUQxAKuSLywkXSwRyg=="
+ "resolved": "0.0.0-2505.2001-0e4bc3b9",
+ "contentHash": "VNSUBgaGzJ/KkK3Br0b9FORkCgKqke54hi48vG42xRACIlxN+uLFMz0hRo+KHogz+Fsn+ltXicGwQsDVpmaCMg=="
},
"Microsoft.SourceLink.Common": {
"type": "Transitive",
@@ -91,7 +91,7 @@
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"FollyWin32": "[1.0.0, )",
- "Microsoft.JavaScript.Hermes": "[0.0.0-2505.1001-6aa014c6, )",
+ "Microsoft.JavaScript.Hermes": "[0.0.0-2505.2001-0e4bc3b9, )",
"Microsoft.SourceLink.GitHub": "[1.1.1, )",
"Microsoft.Web.WebView2": "[1.0.2903.40, )",
"Microsoft.WindowsAppSDK": "[1.7.250401001, )",
From b98a2961ea403770eb6fb4f9f08e691834508a9c Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Fri, 2 May 2025 14:28:28 -0700
Subject: [PATCH 11/19] Remove bridgeless property, and enable fabric in fabric
integration tests
---
.../TestReactNativeHostHolder.cpp | 13 +++++++++++++
.../Fabric/Composition/CompositionUIService.cpp | 2 --
vnext/Microsoft.ReactNative/QuirkSettings.cpp | 16 ----------------
vnext/Microsoft.ReactNative/QuirkSettings.h | 3 ---
.../ReactHost/ReactInstanceWin.cpp | 17 +++++------------
.../ReactHost/ReactInstanceWin.h | 1 -
6 files changed, 18 insertions(+), 34 deletions(-)
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/TestReactNativeHostHolder.cpp b/vnext/Microsoft.ReactNative.IntegrationTests/TestReactNativeHostHolder.cpp
index 17eb4bf6e3f..af692834527 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/TestReactNativeHostHolder.cpp
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/TestReactNativeHostHolder.cpp
@@ -5,6 +5,7 @@
#include "TestReactNativeHostHolder.h"
#include "..\codegen\NativeDeviceInfoSpec.g.h"
#include
+#include
namespace ReactNativeIntegrationTests {
@@ -73,6 +74,18 @@ TestReactNativeHostHolder::TestReactNativeHostHolder(
m_host.InstanceSettings().EnableDeveloperMenu(false);
m_host.PackageProviders().Append(winrt::make());
+#if USE_FABRIC
+ // To properly enable fabric you need to set a compositor.
+ // Since the UTs are ui-less we can force fabric by setting a CompositionContext with a null compositor
+ winrt::Microsoft::ReactNative::ReactPropertyBag(m_host.InstanceSettings().Properties())
+ .Set(
+ winrt::Microsoft::ReactNative::ReactPropertyId<
+ winrt::Microsoft::ReactNative::Composition::Experimental::ICompositionContext>{
+ L"ReactNative.Composition", L"CompositionContext"},
+ winrt::Microsoft::ReactNative::Composition::Experimental::MicrosoftCompositionContextHelper::CreateContext(
+ nullptr));
+#endif
+
hostInitializer(m_host);
if (options.LoadInstance) {
diff --git a/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp b/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp
index 85df028d0f2..41310f42c71 100644
--- a/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp
+++ b/vnext/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp
@@ -25,8 +25,6 @@ void CompositionUIService::SetCompositor(
CompositionContextPropertyId(),
winrt::Microsoft::ReactNative::Composition::Experimental::MicrosoftCompositionContextHelper::CreateContext(
compositor));
- // Default to using Bridgeless mode when using fabric
- winrt::Microsoft::ReactNative::implementation::QuirkSettings::SetIsBridgeless(properties, !!compositor);
}
winrt::Microsoft::UI::Composition::Compositor CompositionUIService::GetCompositor(
diff --git a/vnext/Microsoft.ReactNative/QuirkSettings.cpp b/vnext/Microsoft.ReactNative/QuirkSettings.cpp
index 81dddc80a82..2ceca4b8a8a 100644
--- a/vnext/Microsoft.ReactNative/QuirkSettings.cpp
+++ b/vnext/Microsoft.ReactNative/QuirkSettings.cpp
@@ -77,22 +77,6 @@ winrt::Microsoft::ReactNative::ReactPropertyId UseRuntimeSchedulerProperty
return propId;
}
-winrt::Microsoft::ReactNative::ReactPropertyId IsBridgelessProperty() noexcept {
- winrt::Microsoft::ReactNative::ReactPropertyId propId{L"ReactNative", L"IsBridgeless"};
-
- return propId;
-}
-
-/*static*/ bool QuirkSettings::GetIsBridgeless(winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept {
- return properties.Get(IsBridgelessProperty()).value_or(false);
-}
-
-/*static*/ void QuirkSettings::SetIsBridgeless(
- const winrt::Microsoft::ReactNative::ReactPropertyBag &properties,
- bool value) noexcept {
- properties.Set(IsBridgelessProperty(), value);
-}
-
#pragma region IDL interface
/*static*/ void QuirkSettings::SetMatchAndroidAndIOSStretchBehavior(
diff --git a/vnext/Microsoft.ReactNative/QuirkSettings.h b/vnext/Microsoft.ReactNative/QuirkSettings.h
index 0c5d73e94e4..507c755c0d2 100644
--- a/vnext/Microsoft.ReactNative/QuirkSettings.h
+++ b/vnext/Microsoft.ReactNative/QuirkSettings.h
@@ -39,9 +39,6 @@ struct QuirkSettings : QuirkSettingsT {
static bool GetMapWindowDeactivatedToAppStateInactive(
winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept;
- static bool GetIsBridgeless(winrt::Microsoft::ReactNative::ReactPropertyBag properties) noexcept;
- static void SetIsBridgeless(const winrt::Microsoft::ReactNative::ReactPropertyBag &properties, bool value) noexcept;
-
#pragma region Public API - part of IDL interface
static void SetMatchAndroidAndIOSStretchBehavior(
winrt::Microsoft::ReactNative::ReactInstanceSettings settings,
diff --git a/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp b/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp
index ead0aed2ad8..e913751e8fe 100644
--- a/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp
+++ b/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp
@@ -350,12 +350,10 @@ void ReactInstanceWin::LoadModules(
#endif
#if !defined(CORE_ABI) && !defined(USE_FABRIC)
- if (!IsBridgeless()) {
- registerTurboModule(
- L"UIManager",
- // TODO: Use MakeTurboModuleProvider after it satisfies ReactNativeSpecs::UIManagerSpec
- winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::UIManager>());
- }
+ registerTurboModule(
+ L"UIManager",
+ // TODO: Use MakeTurboModuleProvider after it satisfies ReactNativeSpecs::UIManagerSpec
+ winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::UIManager>());
#endif
#ifndef CORE_ABI
@@ -489,7 +487,7 @@ void ReactInstanceWin::LoadModules(
//! Initialize() is called from the native queue.
void ReactInstanceWin::Initialize() noexcept {
#ifdef USE_FABRIC
- if (IsBridgeless()) {
+ if (Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties())) {
InitializeBridgeless();
} else
#endif
@@ -1161,11 +1159,6 @@ void ReactInstanceWin::InitUIMessageThread() noexcept {
});
}
-bool ReactInstanceWin::IsBridgeless() noexcept {
- return winrt::Microsoft::ReactNative::implementation::QuirkSettings::GetIsBridgeless(
- winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()));
-}
-
#if !defined(CORE_ABI) && !defined(USE_FABRIC)
void ReactInstanceWin::InitUIManager() noexcept {
std::vector> viewManagers;
diff --git a/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h b/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h
index f098dcf6845..69a00df3de5 100644
--- a/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h
+++ b/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h
@@ -136,7 +136,6 @@ class ReactInstanceWin final : public Mso::ActiveObject
std::shared_ptr GetRedBoxHandler() noexcept;
std::function GetWaitingForDebuggerCallback() noexcept;
std::function GetDebuggerAttachCallback() noexcept;
- bool IsBridgeless() noexcept;
void OnError(const Mso::ErrorCode &errorcode) noexcept;
void OnErrorWithMessage(const std::string &errorMessage) noexcept;
From b39a983bea45bb1bc57b7f4aedfa18d79c0a47a3 Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Fri, 2 May 2025 14:29:24 -0700
Subject: [PATCH 12/19] Put back e2e test machine size
---
.ado/jobs/e2e-test.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.ado/jobs/e2e-test.yml b/.ado/jobs/e2e-test.yml
index 88bafb648b2..aae1bd54e31 100644
--- a/.ado/jobs/e2e-test.yml
+++ b/.ado/jobs/e2e-test.yml
@@ -160,7 +160,7 @@ jobs:
displayName: E2E Test App Fabric ${{ matrix.Name }}
variables: [template: ../variables/windows.yml]
- pool: ${{ parameters.AgentPool.Large }}
+ pool: ${{ parameters.AgentPool.Medium }}
timeoutInMinutes: 60 # how long to run the job before automatically cancelling
cancelTimeoutInMinutes: 5 # how much time to give 'run always even if cancelled tasks' before killing them
From 4710f0c8c560a5891bb9b79071ef854ea78757a1 Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Fri, 2 May 2025 14:54:12 -0700
Subject: [PATCH 13/19] build fix
---
.../TestReactNativeHostHolder.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/TestReactNativeHostHolder.cpp b/vnext/Microsoft.ReactNative.IntegrationTests/TestReactNativeHostHolder.cpp
index af692834527..e598b29ddf9 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/TestReactNativeHostHolder.cpp
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/TestReactNativeHostHolder.cpp
@@ -5,7 +5,10 @@
#include "TestReactNativeHostHolder.h"
#include "..\codegen\NativeDeviceInfoSpec.g.h"
#include
+
+#ifdef USE_FABRIC
#include
+#endif
namespace ReactNativeIntegrationTests {
From c0339421191641e0b95eb6660c9fc4a70cebf73c Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Mon, 5 May 2025 20:11:01 -0700
Subject: [PATCH 14/19] Fix most UTs. - Disable one in fabric for now
---
.../ExecuteJsiTests.cpp | 2 +-
.../ReactNativeHostTests.cpp | 2 +-
.../ReactNativeHostTests.js | 7 +-
.../ReactNotificationServiceTests.cpp | 2 +-
.../TurboModuleTests.cpp | 2 +
.../AsynchronousEventBeat.cpp | 32 +-
.../AsynchronousEventBeat.h | 3 -
.../Fabric/FabricUIManagerModule.cpp | 1 -
.../ReactHost/ReactInstanceWin.cpp | 110 +-
.../SynchronousEventBeat.cpp | 51 -
.../SynchronousEventBeat.h | 31 -
.../Utils/LocalBundleReader.cpp | 69 +-
vnext/Shared/Shared.vcxitems | 3 -
vnext/Shared/Shared.vcxitems.filters | 1 -
.../ReactInstanceWin.cpp | 1593 +++++++++++++++++
vnext/src-win/index.windows.js | 6 +-
16 files changed, 1710 insertions(+), 205 deletions(-)
delete mode 100644 vnext/Microsoft.ReactNative/SynchronousEventBeat.cpp
delete mode 100644 vnext/Microsoft.ReactNative/SynchronousEventBeat.h
create mode 100644 vnext/enc_temp_folder/8152f4ceb3024b97bf76fb2bcadd75/ReactInstanceWin.cpp
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/ExecuteJsiTests.cpp b/vnext/Microsoft.ReactNative.IntegrationTests/ExecuteJsiTests.cpp
index 55388eef2f8..e58a23de143 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/ExecuteJsiTests.cpp
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/ExecuteJsiTests.cpp
@@ -109,7 +109,7 @@ struct TestExecuteJsiModule {
struct TestPackageProvider : winrt::implements {
void CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept {
- TryAddAttributedModule(packageBuilder, L"TestExecuteJsiModule");
+ TryAddAttributedModule(packageBuilder, L"TestExecuteJsiModule", true);
}
};
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/ReactNativeHostTests.cpp b/vnext/Microsoft.ReactNative.IntegrationTests/ReactNativeHostTests.cpp
index af162dcd852..2e5b0b9a7b9 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/ReactNativeHostTests.cpp
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/ReactNativeHostTests.cpp
@@ -41,7 +41,7 @@ struct TestHostModule {
struct TestPackageProvider : winrt::implements {
void CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept {
- TryAddAttributedModule(packageBuilder, L"TestHostModule");
+ TryAddAttributedModule(packageBuilder, L"TestHostModule", true);
}
};
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/ReactNativeHostTests.js b/vnext/Microsoft.ReactNative.IntegrationTests/ReactNativeHostTests.js
index 0318e2012be..255a67a0e3b 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/ReactNativeHostTests.js
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/ReactNativeHostTests.js
@@ -1,14 +1,13 @@
-import { TurboModuleRegistry } from 'react-native';
+import { TurboModuleRegistry, registerCallableModule } from 'react-native';
-class TestHostModuleFunctions {
+const TestHostModuleFunctions = {
addValues(a, b) {
TurboModuleRegistry.get('TestHostModule').returnResult(a + b);
}
}
-// Accessing TestHostModule has a side effect of initializing global.__fbBatchedBridge
if (TurboModuleRegistry.get('TestHostModule')) {
- global.__fbBatchedBridge.registerLazyCallableModule('TestHostModuleFunctions', () => new TestHostModuleFunctions());
+ registerCallableModule('TestHostModuleFunctions', TestHostModuleFunctions);
// Start running tests.
TurboModuleRegistry.get('TestHostModule').startTests();
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/ReactNotificationServiceTests.cpp b/vnext/Microsoft.ReactNative.IntegrationTests/ReactNotificationServiceTests.cpp
index c774aa15e09..6df1e2ebf0e 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/ReactNotificationServiceTests.cpp
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/ReactNotificationServiceTests.cpp
@@ -65,7 +65,7 @@ struct NotificationTestModule {
struct NotificationTestPackageProvider : winrt::implements {
void CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept {
- TryAddAttributedModule(packageBuilder, L"NotificationTestModule");
+ TryAddAttributedModule(packageBuilder, L"NotificationTestModule", true);
}
};
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/TurboModuleTests.cpp b/vnext/Microsoft.ReactNative.IntegrationTests/TurboModuleTests.cpp
index 2486e8fdba1..72516e910f4 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/TurboModuleTests.cpp
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/TurboModuleTests.cpp
@@ -570,6 +570,7 @@ TEST_CLASS (TurboModuleTests) {
TestCheck(!registered);
}
+ #if !USE_FABRIC
TEST_METHOD(ExecuteSampleTurboModule) {
TestEventService::Initialize();
@@ -645,6 +646,7 @@ TEST_CLASS (TurboModuleTests) {
TestEvent{"sayHelloSync", "Hello"},
});
}
+ #endif
TEST_METHOD(JSDispatcherAfterInstanceUnload) {
TestEventService::Initialize();
diff --git a/vnext/Microsoft.ReactNative/AsynchronousEventBeat.cpp b/vnext/Microsoft.ReactNative/AsynchronousEventBeat.cpp
index b2c47988c99..154a21c8193 100644
--- a/vnext/Microsoft.ReactNative/AsynchronousEventBeat.cpp
+++ b/vnext/Microsoft.ReactNative/AsynchronousEventBeat.cpp
@@ -6,37 +6,17 @@ AsynchronousEventBeat::AsynchronousEventBeat(
std::shared_ptr const ownerBox,
const winrt::Microsoft::ReactNative::ReactContext &context,
std::shared_ptr runtimeScheduler)
- : EventBeat(ownerBox, *runtimeScheduler), m_context(context), m_runtimeScheduler(std::move(runtimeScheduler)) {}
-
-void AsynchronousEventBeat::induce() const {
- if (!isEventBeatRequested_ || m_isBeatCallbackScheduled) {
- isEventBeatRequested_ = false;
- return;
- }
- isEventBeatRequested_ = false;
- m_isBeatCallbackScheduled = true;
-
- facebook::react::RuntimeScheduler &schedulerRef = *m_runtimeScheduler.get();
- schedulerRef.scheduleWork([this, ownerBox = ownerBox_](facebook::jsi::Runtime &runtime) {
- auto owner = ownerBox->owner.lock();
- if (!owner) {
- return;
- }
-
- m_isBeatCallbackScheduled = false;
- if (beatCallback_) {
- beatCallback_(runtime);
- }
- });
-}
+ : EventBeat(ownerBox, *runtimeScheduler), m_context(context) {}
void AsynchronousEventBeat::request() const {
- bool alreadyRequested = isEventBeatRequested_.exchange(true);
+ bool alreadyRequested = isEventBeatRequested_;
+ EventBeat::request();
if (!alreadyRequested) {
- if (m_context.UIDispatcher().HasThreadAccess()) {
+ auto uiDispatcher = m_context.UIDispatcher();
+ if (uiDispatcher.HasThreadAccess()) {
induce();
} else {
- m_context.UIDispatcher().Post([this, ownerBox = ownerBox_]() {
+ uiDispatcher.Post([this, ownerBox = ownerBox_]() {
auto owner = ownerBox->owner.lock();
if (!owner) {
return;
diff --git a/vnext/Microsoft.ReactNative/AsynchronousEventBeat.h b/vnext/Microsoft.ReactNative/AsynchronousEventBeat.h
index 5466db7e56a..62ed3229937 100644
--- a/vnext/Microsoft.ReactNative/AsynchronousEventBeat.h
+++ b/vnext/Microsoft.ReactNative/AsynchronousEventBeat.h
@@ -11,13 +11,10 @@ class AsynchronousEventBeat final : public facebook::react::EventBeat {
const winrt::Microsoft::ReactNative::ReactContext &context,
std::shared_ptr runtimeScheduler);
- void induce() const;
void request() const override;
private:
- mutable std::atomic m_isBeatCallbackScheduled{false};
winrt::Microsoft::ReactNative::ReactContext m_context;
- std::shared_ptr m_runtimeScheduler;
};
} // namespace Microsoft::ReactNative
diff --git a/vnext/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp b/vnext/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp
index 39361b0f09e..586926a0621 100644
--- a/vnext/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp
+++ b/vnext/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp
@@ -19,7 +19,6 @@
#include
#include
#include
-#include
#include
#include
#include
diff --git a/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp b/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp
index e913751e8fe..057beb22bbe 100644
--- a/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp
+++ b/vnext/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp
@@ -647,9 +647,9 @@ void ReactInstanceWin::InitializeBridgeless() noexcept {
winrt::make(Mso::Copy(jsDispatchQueue));
m_options.Properties.Set(ReactDispatcherHelper::JSDispatcherProperty(), jsDispatcher);
m_jsMessageThread.Exchange(std::make_shared(
- jsDispatchQueue,
- Mso::MakeWeakMemberFunctor(this, &ReactInstanceWin::OnError),
- Mso::Copy(m_whenDestroyed)));
+ jsDispatchQueue, Mso::MakeWeakMemberFunctor(this, &ReactInstanceWin::OnError)));
+
+ m_jsDispatchQueue.Exchange(std::move(jsDispatchQueue));
m_jsMessageThread.Load()->runOnQueueSync([&]() {
SetJSThreadDescription();
@@ -686,54 +686,62 @@ void ReactInstanceWin::InitializeBridgeless() noexcept {
m_bridgelessReactInstance->getRuntimeScheduler());
});
- facebook::react::ReactInstance::JSRuntimeFlags options;
- m_bridgelessReactInstance->initializeRuntime(options, [=](facebook::jsi::Runtime &runtime) {
- auto logger = [loggingHook = GetLoggingCallback()](const std::string &message, unsigned int logLevel) {
- if (loggingHook)
- loggingHook(static_cast(logLevel), message.c_str());
- };
- facebook::react::bindNativeLogger(runtime, logger);
-
- auto turboModuleManager = std::make_shared(
- m_options.TurboModuleProvider,
- std::make_shared(
- m_bridgelessReactInstance->getRuntimeScheduler()));
-
- auto binding =
- [turboModuleManager](const std::string &name) -> std::shared_ptr {
- return turboModuleManager->getModule(name);
- };
-
- // Use a legacy native module binding that always returns null
- // This means that calls to NativeModules.XXX will always return null, rather than crashing on access
- auto legacyNativeModuleBinding =
- [](const std::string & /*name*/) -> std::shared_ptr { return nullptr; };
-
- facebook::react::TurboModuleBinding::install(
- runtime,
- std::function(binding),
- std::function(legacyNativeModuleBinding),
- m_options.TurboModuleProvider->LongLivedObjectCollection());
-
- auto componentDescriptorRegistry =
- Microsoft::ReactNative::WindowsComponentDescriptorRegistry::FromProperties(
- winrt::Microsoft::ReactNative::ReactPropertyBag(m_options.Properties));
- auto hasComponentProvider = [componentDescriptorRegistry](const std::string &name) -> bool {
- return componentDescriptorRegistry->hasComponentProvider(
- facebook::react::componentNameByReactViewName(name));
- };
- facebook::react::bindHasComponentProvider(runtime, std::move(hasComponentProvider));
-
- // init TurboModule
- for (const auto &moduleName : turboModuleManager->getEagerInitModuleNames()) {
- turboModuleManager->getModule(moduleName);
- }
- });
-
m_options.TurboModuleProvider->SetReactContext(
winrt::make(Mso::Copy(m_reactContext)));
- FireInstanceCreatedCallback();
+ facebook::react::ReactInstance::JSRuntimeFlags options;
+ m_bridgelessReactInstance->initializeRuntime(
+ options,
+ [=, onCreated = m_options.OnInstanceCreated, reactContext = m_reactContext](
+ facebook::jsi::Runtime &runtime) {
+ auto logger = [loggingHook = GetLoggingCallback()](
+ const std::string &message, unsigned int logLevel) {
+ if (loggingHook)
+ loggingHook(static_cast(logLevel), message.c_str());
+ };
+ facebook::react::bindNativeLogger(runtime, logger);
+
+ auto turboModuleManager = std::make_shared(
+ m_options.TurboModuleProvider,
+ std::make_shared(
+ m_bridgelessReactInstance->getRuntimeScheduler()));
+
+ auto binding =
+ [turboModuleManager](const std::string &name) -> std::shared_ptr {
+ return turboModuleManager->getModule(name);
+ };
+
+ // Use a legacy native module binding that always returns null
+ // This means that calls to NativeModules.XXX will always return null, rather than crashing on access
+ auto legacyNativeModuleBinding =
+ [](const std::string & /*name*/) -> std::shared_ptr {
+ return nullptr;
+ };
+
+ facebook::react::TurboModuleBinding::install(
+ runtime,
+ std::function(binding),
+ std::function(legacyNativeModuleBinding),
+ m_options.TurboModuleProvider->LongLivedObjectCollection());
+
+ auto componentDescriptorRegistry =
+ Microsoft::ReactNative::WindowsComponentDescriptorRegistry::FromProperties(
+ winrt::Microsoft::ReactNative::ReactPropertyBag(m_options.Properties));
+ auto hasComponentProvider = [componentDescriptorRegistry](const std::string &name) -> bool {
+ return componentDescriptorRegistry->hasComponentProvider(
+ facebook::react::componentNameByReactViewName(name));
+ };
+ facebook::react::bindHasComponentProvider(runtime, std::move(hasComponentProvider));
+
+ // init TurboModule
+ for (const auto &moduleName : turboModuleManager->getEagerInitModuleNames()) {
+ turboModuleManager->getModule(moduleName);
+ }
+
+ if (onCreated) {
+ onCreated.Get()->Invoke(reactContext);
+ }
+ });
LoadJSBundlesBridgeless(devSettings);
SetupHMRClient();
@@ -1079,6 +1087,7 @@ Mso::Future ReactInstanceWin::Destroy() noexcept {
#ifdef USE_FABRIC
if (m_bridgelessReactInstance) {
+ auto jsDispatchQueue = m_jsDispatchQueue.Exchange(nullptr);
if (auto jsMessageThread = m_jsMessageThread.Exchange(nullptr)) {
jsMessageThread->runOnQueueSync([&]() noexcept {
{
@@ -1090,9 +1099,12 @@ Mso::Future ReactInstanceWin::Destroy() noexcept {
}
this->m_bridgelessReactInstance = nullptr;
jsMessageThread->quitSynchronous();
+ if (jsDispatchQueue) {
+ jsDispatchQueue.Shutdown(PendingTaskAction::Complete);
+ }
+ m_whenDestroyed.SetValue();
});
}
- m_jsDispatchQueue.Exchange(nullptr);
}
#endif
diff --git a/vnext/Microsoft.ReactNative/SynchronousEventBeat.cpp b/vnext/Microsoft.ReactNative/SynchronousEventBeat.cpp
deleted file mode 100644
index f00e05975f1..00000000000
--- a/vnext/Microsoft.ReactNative/SynchronousEventBeat.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License.
-
-#include "SynchronousEventBeat.h"
-
-namespace Microsoft::ReactNative {
-
-SynchronousEventBeat::SynchronousEventBeat(
- std::shared_ptr const ownerBox,
- const winrt::Microsoft::ReactNative::ReactContext &context,
- facebook::react::RuntimeExecutor runtimeExecutor,
- std::shared_ptr runtimeScheduler)
- : EventBeat(ownerBox, *runtimeScheduler),
- m_context(context),
- m_runtimeExecutor(runtimeExecutor),
- m_runtimeScheduler(std::move(runtimeScheduler)) {}
-
-void SynchronousEventBeat::beat(facebook::jsi::Runtime &runtime) const {
- if (!this->isEventBeatRequested_) {
- return;
- }
- isEventBeatRequested_ = false;
- if (beatCallback_) {
- beatCallback_(runtime);
- }
-}
-
-void SynchronousEventBeat::induce() const {
- if (!isEventBeatRequested_) {
- return;
- }
-
- if (m_context.JSDispatcher().HasThreadAccess()) {
- lockExecutorAndBeat();
- }
-}
-
-void SynchronousEventBeat::lockExecutorAndBeat() const {
- if (!this->isEventBeatRequested_) {
- return;
- }
-
- if (m_runtimeScheduler) {
- m_runtimeScheduler->executeNowOnTheSameThread([this](facebook::jsi::Runtime &runtime) { beat(runtime); });
- } else {
- facebook::react::executeSynchronouslyOnSameThread_CAN_DEADLOCK(
- m_runtimeExecutor, [this](facebook::jsi::Runtime &runtime) { beat(runtime); });
- }
-}
-
-} // namespace Microsoft::ReactNative
diff --git a/vnext/Microsoft.ReactNative/SynchronousEventBeat.h b/vnext/Microsoft.ReactNative/SynchronousEventBeat.h
deleted file mode 100644
index a34620b80bb..00000000000
--- a/vnext/Microsoft.ReactNative/SynchronousEventBeat.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License.
-
-#include
-#include
-#include
-#include
-
-namespace Microsoft::ReactNative {
-
-class SynchronousEventBeat final : public facebook::react::EventBeat {
- public:
- SynchronousEventBeat(
- std::shared_ptr const ownerBox,
- const winrt::Microsoft::ReactNative::ReactContext &context,
- facebook::react::RuntimeExecutor runtimeExecutor,
- std::shared_ptr runtimeScheduler);
-
- void beat(facebook::jsi::Runtime &runtime) const;
-
- void induce() const;
-
- void lockExecutorAndBeat() const;
-
- private:
- winrt::Microsoft::ReactNative::ReactContext m_context;
- facebook::react::RuntimeExecutor m_runtimeExecutor;
- std::shared_ptr m_runtimeScheduler;
-};
-
-} // namespace Microsoft::ReactNative
diff --git a/vnext/Microsoft.ReactNative/Utils/LocalBundleReader.cpp b/vnext/Microsoft.ReactNative/Utils/LocalBundleReader.cpp
index b45e48f87ea..acc9939159e 100644
--- a/vnext/Microsoft.ReactNative/Utils/LocalBundleReader.cpp
+++ b/vnext/Microsoft.ReactNative/Utils/LocalBundleReader.cpp
@@ -54,38 +54,45 @@ std::string GetBundleFromEmbeddedResource(const winrt::Windows::Foundation::Uri
}
std::future LocalBundleReader::LoadBundleAsync(const std::wstring bundleUri) {
- co_await winrt::resume_background();
-
- winrt::Windows::Storage::StorageFile file{nullptr};
-
- // Supports "ms-appx://" or "ms-appdata://"
- if (bundleUri.starts_with(L"ms-app")) {
- winrt::Windows::Foundation::Uri uri(bundleUri);
- file = co_await winrt::Windows::Storage::StorageFile::GetFileFromApplicationUriAsync(uri);
- } else if (bundleUri.starts_with(L"resource://")) {
- winrt::Windows::Foundation::Uri uri(bundleUri);
- co_return GetBundleFromEmbeddedResource(uri);
- } else {
- file = co_await winrt::Windows::Storage::StorageFile::GetFileFromPathAsync(bundleUri);
+ try {
+ co_await winrt::resume_background();
+
+ winrt::Windows::Storage::StorageFile file{nullptr};
+
+ // Supports "ms-appx://" or "ms-appdata://"
+ if (bundleUri.starts_with(L"ms-app")) {
+ winrt::Windows::Foundation::Uri uri(bundleUri);
+ file = co_await winrt::Windows::Storage::StorageFile::GetFileFromApplicationUriAsync(uri);
+ } else if (bundleUri.starts_with(L"resource://")) {
+ winrt::Windows::Foundation::Uri uri(bundleUri);
+ co_return GetBundleFromEmbeddedResource(uri);
+ } else {
+ file = co_await winrt::Windows::Storage::StorageFile::GetFileFromPathAsync(bundleUri);
+ }
+
+ // Read the buffer manually to avoid a Utf8 -> Utf16 -> Utf8 encoding
+ // roundtrip.
+ auto fileBuffer{co_await winrt::Windows::Storage::FileIO::ReadBufferAsync(file)};
+ auto dataReader{winrt::Windows::Storage::Streams::DataReader::FromBuffer(fileBuffer)};
+
+ // No need to use length + 1, STL guarantees that string storage is null-terminated.
+ std::string script(fileBuffer.Length(), '\0');
+
+ // Construct the array_view to slice into the first fileBuffer.Length bytes.
+ // DataReader.ReadBytes will read as many bytes as are present in the
+ // array_view. The backing string has fileBuffer.Length() + 1 bytes, without
+ // an explicit end it will read 1 byte to many and throw.
+ dataReader.ReadBytes(winrt::array_view{
+ reinterpret_cast(&script[0]), reinterpret_cast(&script[script.length()])});
+ dataReader.Close();
+
+ co_return script;
+ }
+ // RuntimeScheduler only handles std::exception or jsi::JSError
+ catch (winrt::hresult_error const& e)
+ {
+ throw std::exception(winrt::to_string(e.message()).c_str());
}
-
- // Read the buffer manually to avoid a Utf8 -> Utf16 -> Utf8 encoding
- // roundtrip.
- auto fileBuffer{co_await winrt::Windows::Storage::FileIO::ReadBufferAsync(file)};
- auto dataReader{winrt::Windows::Storage::Streams::DataReader::FromBuffer(fileBuffer)};
-
- // No need to use length + 1, STL guarantees that string storage is null-terminated.
- std::string script(fileBuffer.Length(), '\0');
-
- // Construct the array_view to slice into the first fileBuffer.Length bytes.
- // DataReader.ReadBytes will read as many bytes as are present in the
- // array_view. The backing string has fileBuffer.Length() + 1 bytes, without
- // an explicit end it will read 1 byte to many and throw.
- dataReader.ReadBytes(winrt::array_view{
- reinterpret_cast(&script[0]), reinterpret_cast(&script[script.length()])});
- dataReader.Close();
-
- co_return script;
}
std::string LocalBundleReader::LoadBundle(const std::wstring &bundlePath) {
diff --git a/vnext/Shared/Shared.vcxitems b/vnext/Shared/Shared.vcxitems
index 5641b959908..3107d11bd4f 100644
--- a/vnext/Shared/Shared.vcxitems
+++ b/vnext/Shared/Shared.vcxitems
@@ -228,9 +228,6 @@
true
-
-
- true
true
diff --git a/vnext/Shared/Shared.vcxitems.filters b/vnext/Shared/Shared.vcxitems.filters
index 268f2b929ed..9430e0891be 100644
--- a/vnext/Shared/Shared.vcxitems.filters
+++ b/vnext/Shared/Shared.vcxitems.filters
@@ -283,7 +283,6 @@
Source Files\Modules
-
diff --git a/vnext/enc_temp_folder/8152f4ceb3024b97bf76fb2bcadd75/ReactInstanceWin.cpp b/vnext/enc_temp_folder/8152f4ceb3024b97bf76fb2bcadd75/ReactInstanceWin.cpp
new file mode 100644
index 00000000000..057beb22bbe
--- /dev/null
+++ b/vnext/enc_temp_folder/8152f4ceb3024b97bf76fb2bcadd75/ReactInstanceWin.cpp
@@ -0,0 +1,1593 @@
+// Copyright (c) Microsoft Corporation.
+// Licensed under the MIT License.
+
+#include "ReactInstanceWin.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "BaseScriptStoreImpl.h"
+#include "ChakraRuntimeHolder.h"
+#include "CrashManager.h"
+#include "DevMenu.h"
+#include "DynamicWriter.h"
+#include "HermesRuntimeHolder.h"
+#include "IReactContext.h"
+#include "IReactDispatcher.h"
+#include "IReactNotificationService.h"
+#include "JSI/JSExecutorFactorySettings.h"
+#include "JsiApi.h"
+#include "Modules/DevSettingsModule.h"
+#include "Modules/ExceptionsManager.h"
+#include "Modules/PlatformConstantsWinModule.h"
+#include "Modules/ReactRootViewTagGenerator.h"
+#include "Modules/SampleTurboModule.h"
+#include "Modules/SourceCode.h"
+#include "Modules/StatusBarManager.h"
+#include "Modules/Timing.h"
+#include "MoveOnCopy.h"
+#include "MsoUtils.h"
+#include "NativeModules.h"
+#include "NativeModulesProvider.h"
+#include "ReactCoreInjection.h"
+#include "ReactErrorProvider.h"
+#include "RedBox.h"
+#include "Unicode.h"
+
+#ifdef USE_FABRIC
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#endif
+
+#if !defined(CORE_ABI) && !defined(USE_FABRIC)
+#include
+#include
+#include "Modules/NativeUIManager.h"
+#include "Modules/PaperUIManagerModule.h"
+#endif
+
+#ifndef CORE_ABI
+#include
+#include
+#include "ConfigureBundlerDlg.h"
+#include "Modules/AccessibilityInfoModule.h"
+#include "Modules/AlertModule.h"
+#include "Modules/AppStateModule.h"
+#include "Modules/AppThemeModuleUwp.h"
+#include "Modules/ClipboardModule.h"
+#include "Modules/DeviceInfoModule.h"
+#include "Modules/I18nManagerModule.h"
+#include "Modules/LinkingManagerModule.h"
+#include "Modules/LogBoxModule.h"
+#else
+#include "Modules/DesktopTimingModule.h"
+#endif
+#include "Modules/ExceptionsManager.h"
+#include "Modules/PlatformConstantsWinModule.h"
+#include "Modules/ReactRootViewTagGenerator.h"
+#include "Modules/SourceCode.h"
+#include "Modules/StatusBarManager.h"
+
+#if !defined(CORE_ABI) || defined(USE_FABRIC)
+#include
+#include "Modules/Animated/NativeAnimatedModule.h"
+#endif
+
+#if defined(USE_V8)
+#include "JSI/V8RuntimeHolder.h"
+#include "V8JSIRuntimeHolder.h"
+#endif // USE_V8
+
+namespace Microsoft::ReactNative {
+
+void AddStandardViewManagers(
+ std::vector> &viewManagers,
+ const Mso::React::IReactContext &context) noexcept;
+
+std::shared_ptr CreateUIManager2(
+ Mso::React::IReactContext *context,
+ std::vector &&viewManagers) noexcept;
+
+} // namespace Microsoft::ReactNative
+
+using namespace winrt::Microsoft::ReactNative;
+
+namespace Mso::React {
+
+//=============================================================================================
+// LoadedCallbackGuard ensures that the OnReactInstanceLoaded is always called.
+// It calls OnReactInstanceLoaded in destructor with a cancellation error.
+// If loading was previously succeeded this call with an error code is ignored.
+//=============================================================================================
+
+struct LoadedCallbackGuard {
+ LoadedCallbackGuard(ReactInstanceWin &reactInstance) noexcept : m_reactInstance{&reactInstance} {}
+
+ LoadedCallbackGuard(const LoadedCallbackGuard &other) = delete;
+ LoadedCallbackGuard &operator=(const LoadedCallbackGuard &other) = delete;
+
+ LoadedCallbackGuard(LoadedCallbackGuard &&other) = default;
+ LoadedCallbackGuard &operator=(LoadedCallbackGuard &&other) = default;
+
+ ~LoadedCallbackGuard() noexcept {
+ if (m_reactInstance) {
+ m_reactInstance->OnReactInstanceLoaded(Mso::CancellationErrorProvider().MakeErrorCode(true));
+ }
+ }
+
+ private:
+ Mso::CntPtr m_reactInstance;
+};
+
+struct BridgeUIBatchInstanceCallback final : public facebook::react::InstanceCallback {
+ BridgeUIBatchInstanceCallback(Mso::WeakPtr wkInstance) : m_wkInstance(wkInstance) {}
+ virtual ~BridgeUIBatchInstanceCallback() = default;
+ void onBatchComplete() override {
+ if (auto instance = m_wkInstance.GetStrongPtr()) {
+ auto state = instance->State();
+ if (state != ReactInstanceState::HasError && state != ReactInstanceState::Unloaded) {
+ if (instance->UseWebDebugger()) {
+ // While using a CxxModule for UIManager (which we do when running under webdebugger)
+ // We need to post the batch complete to the NativeQueue to ensure that the UIManager
+ // has posted everything from this batch into its queue before we complete the batch.
+ instance->m_jsDispatchQueue.Load().Post([wkInstance = m_wkInstance]() {
+ if (auto instance = wkInstance.GetStrongPtr()) {
+ instance->m_batchingUIThread->runOnQueue([wkInstance]() {
+ if (auto instance = wkInstance.GetStrongPtr()) {
+ auto propBag = ReactPropertyBag(instance->m_reactContext->Properties());
+ if (auto callback = propBag.Get(winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::
+ UIBatchCompleteCallbackProperty())) {
+ (*callback)(instance->m_reactContext->Properties());
+ }
+#if !defined(CORE_ABI) && !defined(USE_FABRIC)
+ if (auto uiManager = Microsoft::ReactNative::GetNativeUIManager(*instance->m_reactContext).lock()) {
+ uiManager->onBatchComplete();
+ }
+#endif
+ }
+ });
+
+ // For UWP we use a batching message queue to optimize the usage
+ // of the CoreDispatcher. Win32 already has an optimized queue.
+ facebook::react::BatchingMessageQueueThread *batchingUIThread =
+ static_cast(instance->m_batchingUIThread.get());
+ if (batchingUIThread != nullptr) {
+ batchingUIThread->onBatchComplete();
+ }
+ }
+ });
+ } else {
+ instance->m_batchingUIThread->runOnQueue([wkInstance = m_wkInstance]() {
+ if (auto instance = wkInstance.GetStrongPtr()) {
+ auto propBag = ReactPropertyBag(instance->m_reactContext->Properties());
+ if (auto callback = propBag.Get(winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::
+ UIBatchCompleteCallbackProperty())) {
+ (*callback)(instance->m_reactContext->Properties());
+ }
+#if !defined(CORE_ABI) && !defined(USE_FABRIC)
+ if (auto uiManager = Microsoft::ReactNative::GetNativeUIManager(*instance->m_reactContext).lock()) {
+ uiManager->onBatchComplete();
+ }
+#endif
+ }
+ });
+ // For UWP we use a batching message queue to optimize the usage
+ // of the CoreDispatcher. Win32 already has an optimized queue.
+ facebook::react::BatchingMessageQueueThread *batchingUIThread =
+ static_cast(instance->m_batchingUIThread.get());
+ if (batchingUIThread != nullptr) {
+ batchingUIThread->onBatchComplete();
+ }
+ }
+ }
+ }
+ }
+ void incrementPendingJSCalls() override {}
+ void decrementPendingJSCalls() override {}
+
+ Mso::WeakPtr m_wkInstance;
+ Mso::CntPtr m_context;
+ std::weak_ptr m_uiThread;
+};
+
+//=============================================================================================
+// ReactInstanceWin implementation
+//=============================================================================================
+
+/*static*/ std::mutex ReactInstanceWin::s_registryMutex;
+/*static*/ std::vector ReactInstanceWin::s_instanceRegistry;
+
+ReactInstanceWin::ReactInstanceWin(
+ IReactHost &reactHost,
+ ReactOptions const &options,
+ Mso::Promise &&whenCreated,
+ Mso::Promise &&whenLoaded,
+ Mso::VoidFunctor &&updateUI) noexcept
+ : Super{reactHost.NativeQueue()},
+ m_weakReactHost{&reactHost},
+ m_options{options},
+ m_whenCreated{std::move(whenCreated)},
+ m_isFastReloadEnabled(options.UseFastRefresh()),
+ m_isLiveReloadEnabled(options.UseLiveReload()),
+ m_updateUI{std::move(updateUI)},
+ m_useWebDebugger(options.UseWebDebugger()),
+ m_useDirectDebugger(options.UseDirectDebugger()),
+ m_debuggerBreakOnNextLine(options.DebuggerBreakOnNextLine()),
+ m_reactContext{Mso::Make(
+ this,
+ options.Properties,
+ winrt::make(options.Notifications))} {
+ // As soon as the bundle is loaded or failed to load, we set the m_whenLoaded promise value in JS queue.
+ // It then synchronously raises the OnInstanceLoaded event in the JS queue.
+ // Then, we notify the ReactHost about the load event in the internal queue.
+ m_whenLoaded.AsFuture()
+ .Then(
+ [onLoaded = m_options.OnInstanceLoaded, reactContext = m_reactContext](Mso::Maybe &&value) noexcept {
+ auto errCode = value.IsError() ? value.TakeError() : Mso::ErrorCode();
+ if (onLoaded) {
+ onLoaded.Get()->Invoke(reactContext, errCode);
+ }
+ return Mso::Maybe(errCode);
+ })
+ .Then(Queue(), [whenLoaded = std::move(whenLoaded)](Mso::Maybe &&value) noexcept {
+ whenLoaded.SetValue(std::move(value));
+ });
+
+ // When the JS queue is shutdown, we set the m_whenDestroyed promise value as the last work item in the JS queue.
+ // No JS queue work can be done after that for the instance.
+ // The promise continuation synchronously calls the OnInstanceDestroyed event.
+ // Then, the Destroy() method returns the m_whenDestroyedResult future to ReactHost to handle instance destruction.
+ m_whenDestroyedResult =
+ m_whenDestroyed.AsFuture().Then([whenLoaded = m_whenLoaded,
+ onDestroyed = m_options.OnInstanceDestroyed,
+ // If the ReactHost has been released, this
+ // instance might be the only thing keeping
+ // the propertyBag alive.
+ // We want it to remain alive for the
+ // InstanceDestroyed callbacks
+ propBag = m_options.Properties,
+ reactContext = m_reactContext]() noexcept {
+ whenLoaded.TryCancel(); // It only has an effect if whenLoaded was not set before
+ Microsoft::ReactNative::HermesRuntimeHolder::storeTo(ReactPropertyBag(reactContext->Properties()), nullptr);
+ if (onDestroyed) {
+ onDestroyed.Get()->Invoke(reactContext);
+ }
+ });
+
+ // We notify the ReactHost immediately that the instance is created, but the
+ // OnInstanceCreated event is raised only after the internal react-native instance is ready and
+ // it starts handling JS queue work items.
+ m_whenCreated.SetValue();
+
+ if (m_options.EnableDefaultCrashHandler()) {
+ CrashManager::RegisterCustomHandler();
+ }
+
+ {
+ std::scoped_lock lock{s_registryMutex};
+ s_instanceRegistry.push_back(this);
+ }
+}
+
+ReactInstanceWin::~ReactInstanceWin() noexcept {
+ std::scoped_lock lock{s_registryMutex};
+ auto it = std::find(s_instanceRegistry.begin(), s_instanceRegistry.end(), this);
+ if (it != s_instanceRegistry.end()) {
+ s_instanceRegistry.erase(it);
+ }
+
+ if (m_options.EnableDefaultCrashHandler()) {
+ CrashManager::UnregisterCustomHandler();
+ }
+}
+
+void ReactInstanceWin::InstanceCrashHandler(int fileDescriptor) noexcept {
+ if (!m_options.EnableDefaultCrashHandler()) {
+ return;
+ }
+
+ if (m_jsiRuntimeHolder) {
+ m_jsiRuntimeHolder->crashHandler(fileDescriptor);
+ }
+
+ // record additional information that could be useful for debugging crash dumps here
+ // (perhaps properties and settings or clues about the react tree)
+}
+
+/*static*/ void ReactInstanceWin::CrashHandler(int fileDescriptor) noexcept {
+ std::scoped_lock lock{s_registryMutex};
+ for (auto &entry : s_instanceRegistry) {
+ entry->InstanceCrashHandler(fileDescriptor);
+ }
+}
+
+void ReactInstanceWin::LoadModules(
+ const std::shared_ptr &devSettings,
+ const std::shared_ptr &nativeModulesProvider,
+ const std::shared_ptr &turboModulesProvider) noexcept {
+ auto registerTurboModule = [this, &nativeModulesProvider, &turboModulesProvider](
+ const wchar_t *name, const ReactModuleProvider &provider) noexcept {
+ if (m_options.UseWebDebugger()) {
+ nativeModulesProvider->AddModuleProvider(name, provider);
+ } else {
+ turboModulesProvider->AddModuleProvider(name, provider, false);
+ }
+ };
+
+#ifdef USE_FABRIC
+ if (Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties())) {
+ registerTurboModule(
+ L"FabricUIManagerBinding",
+ winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::FabricUIManager>());
+ }
+#endif
+
+#if !defined(CORE_ABI) && !defined(USE_FABRIC)
+ registerTurboModule(
+ L"UIManager",
+ // TODO: Use MakeTurboModuleProvider after it satisfies ReactNativeSpecs::UIManagerSpec
+ winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::UIManager>());
+#endif
+
+#ifndef CORE_ABI
+ registerTurboModule(
+ L"AccessibilityInfo",
+ winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::AccessibilityInfo>());
+
+ registerTurboModule(
+ L"Alert", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::Alert>());
+
+ registerTurboModule(
+ L"Appearance", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::Appearance>());
+
+ registerTurboModule(
+ L"AppState", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::AppState>());
+
+ registerTurboModule(
+ L"AppTheme", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::AppTheme>());
+
+ registerTurboModule(
+ L"LogBox", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::LogBox>());
+
+ registerTurboModule(
+ L"Clipboard", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::Clipboard>());
+
+ registerTurboModule(
+ L"DeviceInfo", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::DeviceInfo>());
+
+ registerTurboModule(
+ L"ImageLoader", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::ImageLoader>());
+
+ registerTurboModule(
+ L"NativeAnimatedModule",
+ winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::NativeAnimatedModule>());
+
+#elif defined(CORE_ABI) && defined(USE_FABRIC)
+ if (Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties())) {
+ registerTurboModule(
+ L"ImageLoader",
+ winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::ImageLoader>());
+
+ registerTurboModule(
+ L"NativeAnimatedModule",
+ winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::NativeAnimatedModule>());
+ }
+#endif
+
+ if (!m_options.UseWebDebugger()) {
+ turboModulesProvider->AddModuleProvider(
+ L"SampleTurboModule",
+ winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::SampleTurboModule>(),
+ false);
+ }
+
+ if (devSettings->useTurboModulesOnly) {
+ ::Microsoft::ReactNative::ExceptionsManager::SetRedBoxHander(
+ winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()), m_redboxHandler);
+ registerTurboModule(
+ L"ExceptionsManager",
+ winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::ExceptionsManager>());
+
+ registerTurboModule(
+ L"StatusBarManager",
+ winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::StatusBarManager>());
+
+ registerTurboModule(
+ L"PlatformConstants",
+ winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::PlatformConstants>());
+ uint32_t hermesBytecodeVersion = 0;
+#if defined(USE_HERMES) && defined(ENABLE_DEVSERVER_HBCBUNDLES)
+ hermesBytecodeVersion = ::hermes::hbc::BYTECODE_VERSION;
+#endif
+
+ std::string bundleUrl = (devSettings->useWebDebugger || devSettings->liveReloadCallback)
+ ? facebook::react::DevServerHelper::get_BundleUrl(
+ devSettings->sourceBundleHost,
+ devSettings->sourceBundlePort,
+ devSettings->debugBundlePath,
+ devSettings->platformName,
+ devSettings->bundleAppId,
+ devSettings->devBundle,
+ devSettings->useFastRefresh,
+ devSettings->inlineSourceMap,
+ hermesBytecodeVersion)
+ : devSettings->bundleRootPath;
+ ::Microsoft::ReactNative::SourceCode::SetScriptUrl(
+ winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()), bundleUrl);
+
+ registerTurboModule(
+ L"SourceCode", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::SourceCode>());
+ }
+
+ registerTurboModule(
+ L"DevSettings", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::DevSettings>());
+
+#ifndef CORE_ABI
+ registerTurboModule(
+ L"I18nManager", winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::I18nManager>());
+
+ registerTurboModule(
+ L"LinkingManager",
+ winrt::Microsoft::ReactNative::MakeTurboModuleProvider<::Microsoft::ReactNative::LinkingManager>());
+
+ registerTurboModule(L"Timing", winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::Timing>());
+#else
+
+#if defined(USE_FABRIC)
+ if (Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties())) {
+ registerTurboModule(
+ L"Timing", winrt::Microsoft::ReactNative::MakeModuleProvider<::Microsoft::ReactNative::Timing>());
+ } else
+#endif
+ {
+ registerTurboModule(L"Timing", winrt::Microsoft::ReactNative::MakeModuleProvider<::facebook::react::Timing>());
+ }
+#endif
+
+ registerTurboModule(
+ ::Microsoft::React::GetWebSocketTurboModuleName(), ::Microsoft::React::GetWebSocketModuleProvider());
+
+ if (!Microsoft::React::GetRuntimeOptionBool("Blob.DisableModule")) {
+ registerTurboModule(::Microsoft::React::GetHttpTurboModuleName(), ::Microsoft::React::GetHttpModuleProvider());
+
+ registerTurboModule(::Microsoft::React::GetBlobTurboModuleName(), ::Microsoft::React::GetBlobModuleProvider());
+
+ registerTurboModule(
+ ::Microsoft::React::GetFileReaderTurboModuleName(), ::Microsoft::React::GetFileReaderModuleProvider());
+ }
+}
+
+//! Initialize() is called from the native queue.
+void ReactInstanceWin::Initialize() noexcept {
+#ifdef USE_FABRIC
+ if (Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties())) {
+ InitializeBridgeless();
+ } else
+#endif
+ {
+ InitializeWithBridge();
+ }
+}
+
+void ReactInstanceWin::InitDevMenu() noexcept {
+ Microsoft::ReactNative::DevMenuManager::InitDevMenu(m_reactContext, [weakReactHost = m_weakReactHost]() noexcept {
+#if !defined(CORE_ABI) && !defined(USE_FABRIC)
+ Microsoft::ReactNative::ShowConfigureBundlerDialog(weakReactHost);
+#endif // CORE_ABI
+ });
+}
+
+void ReactInstanceWin::InitUIDependentCalls() noexcept {
+#ifndef CORE_ABI
+ Microsoft::ReactNative::AppThemeHolder::InitAppThemeHolder(GetReactContext());
+ Microsoft::ReactNative::I18nManager::InitI18nInfo(
+ winrt::Microsoft::ReactNative::ReactPropertyBag(Options().Properties));
+ Microsoft::ReactNative::Appearance::InitOnUIThread(GetReactContext());
+ Microsoft::ReactNative::DeviceInfoHolder::InitDeviceInfoHolder(GetReactContext());
+#endif // CORE_ABI
+}
+
+std::shared_ptr ReactInstanceWin::CreateDevSettings() noexcept {
+ auto devSettings = std::make_shared();
+ devSettings->useJITCompilation = m_options.EnableJITCompilation;
+ devSettings->sourceBundleHost = SourceBundleHost();
+ devSettings->sourceBundlePort = SourceBundlePort();
+ devSettings->inlineSourceMap = RequestInlineSourceMap();
+ devSettings->debugBundlePath = DebugBundlePath();
+ devSettings->liveReloadCallback = GetLiveReloadCallback();
+ devSettings->errorCallback = GetErrorCallback();
+ devSettings->loggingCallback = GetLoggingCallback();
+ m_redboxHandler = devSettings->redboxHandler = std::move(GetRedBoxHandler());
+ devSettings->useDirectDebugger = m_useDirectDebugger;
+ devSettings->debuggerBreakOnNextLine = m_debuggerBreakOnNextLine;
+ devSettings->debuggerPort = m_options.DeveloperSettings.DebuggerPort;
+ devSettings->debuggerRuntimeName = m_options.DeveloperSettings.DebuggerRuntimeName;
+ devSettings->useWebDebugger = m_useWebDebugger;
+ devSettings->useFastRefresh = m_isFastReloadEnabled;
+ devSettings->bundleRootPath = BundleRootPath();
+ devSettings->platformName =
+ winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::GetPlatformName(m_reactContext->Properties());
+ devSettings->waitingForDebuggerCallback = GetWaitingForDebuggerCallback();
+ devSettings->debuggerAttachCallback = GetDebuggerAttachCallback();
+ devSettings->enableDefaultCrashHandler = m_options.EnableDefaultCrashHandler();
+ devSettings->bundleAppId = BundleAppId();
+ devSettings->devBundle = RequestDevBundle();
+ devSettings->showDevMenuCallback = [weakThis = Mso::WeakPtr{this}]() noexcept {
+ if (auto strongThis = weakThis.GetStrongPtr()) {
+ strongThis->m_uiQueue->Post(
+ [context = strongThis->m_reactContext]() { Microsoft::ReactNative::DevMenuManager::Show(context); });
+ }
+ };
+
+ bool useRuntimeScheduler = winrt::Microsoft::ReactNative::implementation::QuirkSettings::GetUseRuntimeScheduler(
+ winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()));
+
+ devSettings->useRuntimeScheduler = useRuntimeScheduler;
+
+ return devSettings;
+}
+
+Mso::DispatchQueueSettings CreateDispatchQueueSettings(
+ const winrt::Microsoft::ReactNative::IReactNotificationService &service) {
+ Mso::DispatchQueueSettings queueSettings{};
+ queueSettings.TaskStarting = [service](Mso::DispatchQueue const &) noexcept {
+ service.SendNotification(
+ winrt::Microsoft::ReactNative::ReactDispatcherHelper::JSDispatcherTaskStartingEventName(), nullptr, nullptr);
+ };
+ queueSettings.IdleWaitStarting = [service](Mso::DispatchQueue const &) noexcept {
+ service.SendNotification(
+ winrt::Microsoft::ReactNative::ReactDispatcherHelper::JSDispatcherIdleWaitStartingEventName(),
+ nullptr,
+ nullptr);
+ };
+ queueSettings.IdleWaitCompleted = [service](Mso::DispatchQueue const &) noexcept {
+ service.SendNotification(
+ winrt::Microsoft::ReactNative::ReactDispatcherHelper::JSDispatcherIdleWaitCompletedEventName(),
+ nullptr,
+ nullptr);
+ };
+ return queueSettings;
+}
+
+std::unique_ptr CreatePreparedScriptStore() noexcept {
+ std::unique_ptr preparedScriptStore = nullptr;
+ wchar_t tempPath[MAX_PATH];
+ if (GetTempPathW(static_cast(std::size(tempPath)), tempPath)) {
+ preparedScriptStore = std::make_unique(winrt::to_string(tempPath));
+ }
+ return preparedScriptStore;
+}
+
+#ifdef USE_FABRIC
+
+typedef HRESULT(__stdcall *SetThreadDescriptionFn)(HANDLE, PCWSTR);
+void SetJSThreadDescription() noexcept {
+ // Office still supports Server 2016 so we need to use Run Time Dynamic Linking and cannot just use:
+ // ::SetThreadDescription(GetCurrentThread(), L"React-Native JavaScript Thread");
+
+ auto moduleHandle = GetModuleHandleW(L"kernelbase.dll");
+ // The description is just for developer experience, so we can skip it if kernelbase isn't already loaded
+ if (!moduleHandle)
+ return;
+
+ auto proc = GetProcAddress(moduleHandle, "SetThreadDescription");
+ if (!proc)
+ return;
+
+ reinterpret_cast(proc)(GetCurrentThread(), L"React-Native JavaScript Thread");
+}
+
+void ReactInstanceWin::InitializeBridgeless() noexcept {
+ InitUIQueue();
+
+ m_uiMessageThread.Exchange(std::make_shared(
+ *m_uiQueue, Mso::MakeWeakMemberFunctor(this, &ReactInstanceWin::OnError)));
+
+ ReactPropertyBag(m_reactContext->Properties())
+ .Set(
+ winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::PostToUIBatchingQueueProperty(),
+ [wkBatchingUIThread = std::weak_ptr(m_uiMessageThread.Load())](
+ winrt::Microsoft::ReactNative::ReactDispatcherCallback const &callback) {
+ if (auto batchingUIThread = wkBatchingUIThread.lock()) {
+ batchingUIThread->runOnQueue(callback);
+ }
+ });
+
+ InitDevMenu();
+ winrt::Microsoft::ReactNative::Composition::implementation::UriImageManager::Install(
+ ReactPropertyBag(m_reactContext->Properties()), m_options.UriImageManager);
+
+ m_uiQueue->Post([this, weakThis = Mso::WeakPtr{this}]() noexcept {
+ // Objects that must be created on the UI thread
+ if (auto strongThis = weakThis.GetStrongPtr()) {
+ InitUIDependentCalls();
+
+ strongThis->Queue().Post([this, weakThis]() noexcept {
+ if (auto strongThis = weakThis.GetStrongPtr()) {
+ auto devSettings = strongThis->CreateDevSettings();
+ devSettings->useTurboModulesOnly = true;
+
+ try {
+ if (devSettings->useFastRefresh || devSettings->liveReloadCallback) {
+ Microsoft::ReactNative::PackagerConnection::CreateOrReusePackagerConnection(*devSettings);
+ }
+ // null moduleProvider since native modules are not supported in bridgeless
+ LoadModules(devSettings, nullptr, m_options.TurboModuleProvider);
+
+ auto jsDispatchQueue =
+ Mso::DispatchQueue::MakeLooperQueue(CreateDispatchQueueSettings(m_reactContext->Notifications()));
+ auto jsDispatcher =
+ winrt::make(Mso::Copy(jsDispatchQueue));
+ m_options.Properties.Set(ReactDispatcherHelper::JSDispatcherProperty(), jsDispatcher);
+ m_jsMessageThread.Exchange(std::make_shared(
+ jsDispatchQueue, Mso::MakeWeakMemberFunctor(this, &ReactInstanceWin::OnError)));
+
+ m_jsDispatchQueue.Exchange(std::move(jsDispatchQueue));
+
+ m_jsMessageThread.Load()->runOnQueueSync([&]() {
+ SetJSThreadDescription();
+ auto timerRegistry =
+ ::Microsoft::ReactNative::TimerRegistry::CreateTimerRegistry(m_reactContext->Properties());
+ auto timerRegistryRaw = timerRegistry.get();
+
+ auto timerManager = std::make_shared(std::move(timerRegistry));
+ timerRegistryRaw->setTimerManager(timerManager);
+
+ auto jsErrorHandlingFunc = [this](
+ facebook::jsi::Runtime &runtime,
+ const facebook::react::JsErrorHandler::ProcessedError &error) noexcept {
+ OnJSError(runtime, std::move(error));
+ };
+
+ if (devSettings->useDirectDebugger) {
+ ::Microsoft::ReactNative::GetSharedDevManager()->EnsureHermesInspector(
+ devSettings->sourceBundleHost, devSettings->sourceBundlePort);
+ }
+
+ m_jsiRuntimeHolder = std::make_shared(
+ devSettings, m_jsMessageThread.Load(), CreatePreparedScriptStore());
+ auto jsRuntime = std::make_unique(m_jsiRuntimeHolder);
+ jsRuntime->getRuntime();
+ m_bridgelessReactInstance = std::make_unique(
+ std::move(jsRuntime), m_jsMessageThread.Load(), timerManager, jsErrorHandlingFunc);
+
+ auto bufferedRuntimeExecutor = m_bridgelessReactInstance->getBufferedRuntimeExecutor();
+ timerManager->setRuntimeExecutor(bufferedRuntimeExecutor);
+
+ Microsoft::ReactNative::SchedulerSettings::SetRuntimeScheduler(
+ winrt::Microsoft::ReactNative::ReactPropertyBag(m_options.Properties),
+ m_bridgelessReactInstance->getRuntimeScheduler());
+ });
+
+ m_options.TurboModuleProvider->SetReactContext(
+ winrt::make(Mso::Copy(m_reactContext)));
+
+ facebook::react::ReactInstance::JSRuntimeFlags options;
+ m_bridgelessReactInstance->initializeRuntime(
+ options,
+ [=, onCreated = m_options.OnInstanceCreated, reactContext = m_reactContext](
+ facebook::jsi::Runtime &runtime) {
+ auto logger = [loggingHook = GetLoggingCallback()](
+ const std::string &message, unsigned int logLevel) {
+ if (loggingHook)
+ loggingHook(static_cast(logLevel), message.c_str());
+ };
+ facebook::react::bindNativeLogger(runtime, logger);
+
+ auto turboModuleManager = std::make_shared(
+ m_options.TurboModuleProvider,
+ std::make_shared(
+ m_bridgelessReactInstance->getRuntimeScheduler()));
+
+ auto binding =
+ [turboModuleManager](const std::string &name) -> std::shared_ptr {
+ return turboModuleManager->getModule(name);
+ };
+
+ // Use a legacy native module binding that always returns null
+ // This means that calls to NativeModules.XXX will always return null, rather than crashing on access
+ auto legacyNativeModuleBinding =
+ [](const std::string & /*name*/) -> std::shared_ptr {
+ return nullptr;
+ };
+
+ facebook::react::TurboModuleBinding::install(
+ runtime,
+ std::function(binding),
+ std::function(legacyNativeModuleBinding),
+ m_options.TurboModuleProvider->LongLivedObjectCollection());
+
+ auto componentDescriptorRegistry =
+ Microsoft::ReactNative::WindowsComponentDescriptorRegistry::FromProperties(
+ winrt::Microsoft::ReactNative::ReactPropertyBag(m_options.Properties));
+ auto hasComponentProvider = [componentDescriptorRegistry](const std::string &name) -> bool {
+ return componentDescriptorRegistry->hasComponentProvider(
+ facebook::react::componentNameByReactViewName(name));
+ };
+ facebook::react::bindHasComponentProvider(runtime, std::move(hasComponentProvider));
+
+ // init TurboModule
+ for (const auto &moduleName : turboModuleManager->getEagerInitModuleNames()) {
+ turboModuleManager->getModule(moduleName);
+ }
+
+ if (onCreated) {
+ onCreated.Get()->Invoke(reactContext);
+ }
+ });
+
+ LoadJSBundlesBridgeless(devSettings);
+ SetupHMRClient();
+
+ } catch (std::exception &e) {
+ OnErrorWithMessage(e.what());
+ OnErrorWithMessage("ReactInstanceWin: Failed to create React Instance.");
+ } catch (winrt::hresult_error const &e) {
+ OnErrorWithMessage(Microsoft::Common::Unicode::Utf16ToUtf8(e.message().c_str(), e.message().size()));
+ OnErrorWithMessage("ReactInstanceWin: Failed to create React Instance.");
+ } catch (...) {
+ OnErrorWithMessage("ReactInstanceWin: Failed to create React Instance.");
+ }
+ }
+ });
+ }
+ });
+}
+#endif
+
+void ReactInstanceWin::FireInstanceCreatedCallback() noexcept {
+ // The InstanceCreated event can be used to augment the JS environment for all JS code. So it needs to be
+ // triggered before any platform JS code is run. Using m_jsMessageThread instead of jsDispatchQueue avoids
+ // waiting for the JSCaller which can delay the event until after certain JS code has already run
+ m_jsMessageThread.Load()->runOnQueue(
+ [onCreated = m_options.OnInstanceCreated, reactContext = m_reactContext]() noexcept {
+ if (onCreated) {
+ onCreated.Get()->Invoke(reactContext);
+ }
+ });
+}
+
+void ReactInstanceWin::InitializeWithBridge() noexcept {
+ InitJSMessageThread();
+ InitNativeMessageThread();
+
+ InitUIQueue();
+ InitUIMessageThread();
+
+#if !defined(CORE_ABI) && !defined(USE_FABRIC)
+ // InitUIManager uses m_legacyReactInstance
+ InitUIManager();
+#endif
+
+ InitDevMenu();
+#ifdef USE_FABRIC
+ winrt::Microsoft::ReactNative::Composition::implementation::UriImageManager::Install(
+ ReactPropertyBag(m_reactContext->Properties()), m_options.UriImageManager);
+#endif
+
+ m_uiQueue->Post([this, weakThis = Mso::WeakPtr{this}]() noexcept {
+ // Objects that must be created on the UI thread
+ if (auto strongThis = weakThis.GetStrongPtr()) {
+ InitUIDependentCalls();
+ strongThis->Queue().Post([this, weakThis]() noexcept {
+ if (auto strongThis = weakThis.GetStrongPtr()) {
+ auto devSettings = strongThis->CreateDevSettings();
+
+ auto getBoolProperty = [properties = ReactPropertyBag{m_options.Properties}](
+ const wchar_t *ns, const wchar_t *name, bool defaultValue) noexcept -> bool {
+ ReactPropertyId propId{ns == nullptr ? ReactPropertyNamespace() : ReactPropertyNamespace(ns), name};
+ std::optional propValue = properties.Get(propId);
+ return propValue.value_or(defaultValue);
+ };
+
+ devSettings->omitNetworkingCxxModules = getBoolProperty(nullptr, L"OmitNetworkingCxxModules", false);
+ devSettings->useWebSocketTurboModule = getBoolProperty(nullptr, L"UseWebSocketTurboModule", false);
+ devSettings->useTurboModulesOnly = getBoolProperty(L"DevSettings", L"UseTurboModulesOnly", false);
+
+ std::vector cxxModules;
+ auto nmp = std::make_shared();
+
+ LoadModules(devSettings, nmp, m_options.TurboModuleProvider);
+
+ auto modules = nmp->GetModules(m_reactContext, m_jsMessageThread.Load());
+ cxxModules.insert(
+ cxxModules.end(), std::make_move_iterator(modules.begin()), std::make_move_iterator(modules.end()));
+
+ if (m_options.ModuleProvider != nullptr) {
+ std::vector customCxxModules =
+ m_options.ModuleProvider->GetModules(m_reactContext, m_jsMessageThread.Load());
+ cxxModules.insert(std::end(cxxModules), std::begin(customCxxModules), std::end(customCxxModules));
+ }
+
+ std::unique_ptr scriptStore = nullptr;
+ std::unique_ptr preparedScriptStore = nullptr;
+
+ if (const auto jsExecutorFactoryDelegate =
+ Microsoft::JSI::JSExecutorFactorySettings::GetJSExecutorFactoryDelegate(
+ winrt::Microsoft::ReactNative::ReactPropertyBag(strongThis->Options().Properties))) {
+ devSettings->jsExecutorFactoryDelegate = jsExecutorFactoryDelegate;
+ if (m_options.JsiEngine() == JSIEngine::Hermes) {
+ devSettings->jsiEngineOverride = facebook::react::JSIEngineOverride::Hermes;
+ }
+ } else {
+ switch (m_options.JsiEngine()) {
+ case JSIEngine::Hermes: {
+ preparedScriptStore = CreatePreparedScriptStore();
+
+ auto hermesRuntimeHolder = std::make_shared(
+ devSettings, m_jsMessageThread.Load(), std::move(preparedScriptStore));
+ Microsoft::ReactNative::HermesRuntimeHolder::storeTo(
+ ReactPropertyBag(m_reactContext->Properties()), hermesRuntimeHolder);
+ devSettings->jsiRuntimeHolder = hermesRuntimeHolder;
+ break;
+ }
+ case JSIEngine::V8:
+#if defined(USE_V8)
+ {
+ preparedScriptStore = CreatePreparedScriptStore();
+ bool enableMultiThreadSupport{false};
+#ifdef USE_FABRIC
+ enableMultiThreadSupport = Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties());
+#endif // USE_FABRIC
+
+ if (m_options.JsiEngineV8NodeApi()) {
+ devSettings->jsiRuntimeHolder = std::make_shared(
+ devSettings, m_jsMessageThread.Load(), std::move(preparedScriptStore), enableMultiThreadSupport);
+ } else {
+ devSettings->jsiRuntimeHolder = std::make_shared(
+ devSettings,
+ m_jsMessageThread.Load(),
+ std::move(scriptStore),
+ std::move(preparedScriptStore),
+ enableMultiThreadSupport);
+ }
+
+ break;
+ }
+#endif // USE_V8
+ case JSIEngine::Chakra:
+#ifndef CORE_ABI
+ if (m_options.EnableByteCodeCaching || !m_options.ByteCodeFileUri.empty()) {
+ scriptStore = std::make_unique();
+ preparedScriptStore = std::make_unique(
+ winrt::to_hstring(m_options.ByteCodeFileUri));
+ }
+#endif
+ devSettings->jsiRuntimeHolder = std::make_shared(
+ devSettings, m_jsMessageThread.Load(), std::move(scriptStore), std::move(preparedScriptStore));
+ break;
+ }
+ }
+
+ m_jsiRuntimeHolder = devSettings->jsiRuntimeHolder;
+
+ try {
+ // We need to keep the instance wrapper alive as its destruction shuts down the native queue.
+ m_options.TurboModuleProvider->SetReactContext(
+ winrt::make(Mso::Copy(m_reactContext)));
+
+ auto bundleRootPath = devSettings->bundleRootPath;
+ auto jsiRuntimeHolder = devSettings->jsiRuntimeHolder;
+ auto instanceWrapper = facebook::react::CreateReactInstance(
+ std::shared_ptr(strongThis->m_instance.Load()),
+ std::move(bundleRootPath), // bundleRootPath
+ std::move(cxxModules),
+ m_options.TurboModuleProvider,
+ m_options.TurboModuleProvider->LongLivedObjectCollection(),
+ m_reactContext->Properties(),
+ std::make_unique(weakThis),
+ m_jsMessageThread.Load(),
+ m_nativeMessageThread.Load(),
+ std::move(devSettings));
+
+ m_instanceWrapper.Exchange(std::move(instanceWrapper));
+
+ FireInstanceCreatedCallback();
+ LoadJSBundles();
+ SetupHMRClient();
+
+ } catch (std::exception &e) {
+ OnErrorWithMessage(e.what());
+ OnErrorWithMessage("UwpReactInstance: Failed to create React Instance.");
+ } catch (winrt::hresult_error const &e) {
+ OnErrorWithMessage(Microsoft::Common::Unicode::Utf16ToUtf8(e.message().c_str(), e.message().size()));
+ OnErrorWithMessage("UwpReactInstance: Failed to create React Instance.");
+ } catch (...) {
+ OnErrorWithMessage("UwpReactInstance: Failed to create React Instance.");
+ }
+ }
+ });
+ };
+ });
+}
+
+void ReactInstanceWin::SetupHMRClient() noexcept {
+ if (UseDeveloperSupport() && State() != ReactInstanceState::HasError) {
+ folly::dynamic params = folly::dynamic::array(
+ winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::GetPlatformName(
+ m_reactContext->Properties()),
+ DebugBundlePath(),
+ SourceBundleHost(),
+ SourceBundlePort(),
+ m_isFastReloadEnabled,
+ "ws");
+ CallJsFunction("HMRClient", "setup", std::move(params));
+ }
+}
+
+void ReactInstanceWin::LoadJSBundles() noexcept {
+ //
+ // We use m_jsMessageThread to load JS bundles synchronously. In that case we only load
+ // them if the m_jsMessageThread is not shut down (quitSynchronous() is not called).
+ // After the load we call OnReactInstanceLoaded callback on native queue.
+ //
+ // Note that the instance could be destroyed while we are loading JS Bundles.
+ // Though, the JS engine is not destroyed until this work item is not finished.
+ // Thus, we check the m_isDestroyed flag to see if we should do an early exit.
+ // Also, since we have to guarantee that the OnReactInstanceLoaded callback is called before
+ // the OnReactInstanceDestroyed callback, the OnReactInstanceLoaded is called right before the
+ // OnReactInstanceDestroyed callback in the Destroy() method. In that case any OnReactInstanceLoaded
+ // calls after we finish this JS message queue work item is ignored.
+ //
+ // The LoadedCallbackGuard is used for the case when runOnQueue does not execute the lambda
+ // before destroying it. It may happen if the m_jsMessageThread is already shutdown.
+ // In that case, the LoadedCallbackGuard notifies about cancellation by calling OnReactInstanceLoaded.
+ // The OnReactInstanceLoaded internally only accepts the first call and ignores others.
+ //
+
+ if (m_useWebDebugger || m_isFastReloadEnabled) {
+ // Getting bundle from the packager, so do everything async.
+ auto instanceWrapper = m_instanceWrapper.LoadWithLock();
+ instanceWrapper->loadBundle(Mso::Copy(JavaScriptBundleFile()));
+
+ m_jsMessageThread.Load()->runOnQueue(
+ [weakThis = Mso::WeakPtr{this},
+ loadCallbackGuard = Mso::MakeMoveOnCopyWrapper(LoadedCallbackGuard{*this})]() noexcept {
+ if (auto strongThis = weakThis.GetStrongPtr()) {
+ if (strongThis->State() != ReactInstanceState::HasError) {
+ strongThis->OnReactInstanceLoaded(Mso::ErrorCode{});
+ }
+ }
+ });
+ } else {
+ m_jsMessageThread.Load()->runOnQueue(
+ [weakThis = Mso::WeakPtr{this},
+ loadCallbackGuard = Mso::MakeMoveOnCopyWrapper(LoadedCallbackGuard{*this})]() noexcept {
+ if (auto strongThis = weakThis.GetStrongPtr()) {
+ auto instance = strongThis->m_instance.LoadWithLock();
+ auto instanceWrapper = strongThis->m_instanceWrapper.LoadWithLock();
+ if (!instance || !instanceWrapper) {
+ return;
+ }
+
+ try {
+ instanceWrapper->loadBundleSync(Mso::Copy(strongThis->JavaScriptBundleFile()));
+ if (strongThis->State() != ReactInstanceState::HasError) {
+ strongThis->OnReactInstanceLoaded(Mso::ErrorCode{});
+ }
+ } catch (...) {
+ strongThis->OnReactInstanceLoaded(Mso::ExceptionErrorProvider().MakeErrorCode(std::current_exception()));
+ }
+ }
+ });
+ }
+}
+
+#ifdef USE_FABRIC
+void ReactInstanceWin::LoadJSBundlesBridgeless(std::shared_ptr devSettings) noexcept {
+ if (m_isFastReloadEnabled) {
+ // Getting bundle from the packager, so do everything async.
+
+ ::Microsoft::ReactNative::LoadRemoteUrlScript(
+ devSettings,
+ ::Microsoft::ReactNative::GetSharedDevManager(),
+ Mso::Copy(JavaScriptBundleFile()),
+ [=](std::unique_ptr script, const std::string &sourceURL) {
+ m_bridgelessReactInstance->loadScript(std::move(script), sourceURL);
+ });
+
+ m_jsMessageThread.Load()->runOnQueue(
+ [weakThis = Mso::WeakPtr{this},
+ loadCallbackGuard = Mso::MakeMoveOnCopyWrapper(LoadedCallbackGuard{*this})]() noexcept {
+ if (auto strongThis = weakThis.GetStrongPtr()) {
+ if (strongThis->State() != ReactInstanceState::HasError) {
+ strongThis->OnReactInstanceLoaded(Mso::ErrorCode{});
+ }
+ }
+ });
+ } else {
+ auto bundleString = ::Microsoft::ReactNative::JsBigStringFromPath(devSettings, Mso::Copy(JavaScriptBundleFile()));
+ m_bridgelessReactInstance->loadScript(std::move(bundleString), Mso::Copy(JavaScriptBundleFile()));
+
+ m_jsMessageThread.Load()->runOnQueue(
+ [weakThis = Mso::WeakPtr{this},
+ loadCallbackGuard = Mso::MakeMoveOnCopyWrapper(LoadedCallbackGuard{*this})]() noexcept {
+ if (auto strongThis = weakThis.GetStrongPtr()) {
+ try {
+ if (strongThis->State() != ReactInstanceState::HasError) {
+ strongThis->OnReactInstanceLoaded(Mso::ErrorCode{});
+ }
+ } catch (...) {
+ strongThis->OnReactInstanceLoaded(Mso::ExceptionErrorProvider().MakeErrorCode(std::current_exception()));
+ }
+ }
+ });
+ }
+}
+#endif
+
+void ReactInstanceWin::OnReactInstanceLoaded(const Mso::ErrorCode &errorCode) noexcept {
+ bool isLoadedExpected = false;
+ if (m_isLoaded.compare_exchange_strong(isLoadedExpected, true)) {
+ if (!errorCode) {
+ m_state = ReactInstanceState::Loaded;
+ m_whenLoaded.SetValue();
+ DrainJSCallQueue();
+ } else {
+ m_state = ReactInstanceState::HasError;
+ m_whenLoaded.SetError(errorCode);
+ OnError(errorCode);
+ }
+ }
+}
+
+Mso::Future ReactInstanceWin::Destroy() noexcept {
+ // This method must be called from the native queue.
+ VerifyIsInQueueElseCrash();
+
+ if (m_isDestroyed) {
+ return m_whenDestroyedResult;
+ }
+
+ m_isDestroyed = true;
+ m_state = ReactInstanceState::Unloaded;
+ AbandonJSCallQueue();
+
+ // Make sure that the instance is not destroyed yet
+ if (auto instance = m_instance.Exchange(nullptr)) {
+ {
+ // Release the JSI runtime
+ std::scoped_lock lock{m_mutex};
+ m_jsiRuntimeHolder = nullptr;
+ m_jsiRuntime = nullptr;
+ }
+ // Release the message queues before the ui manager and instance.
+ m_nativeMessageThread.Exchange(nullptr);
+ m_jsMessageThread.Exchange(nullptr);
+ m_instanceWrapper.Exchange(nullptr);
+ m_jsDispatchQueue.Exchange(nullptr);
+ }
+
+#ifdef USE_FABRIC
+ if (m_bridgelessReactInstance) {
+ auto jsDispatchQueue = m_jsDispatchQueue.Exchange(nullptr);
+ if (auto jsMessageThread = m_jsMessageThread.Exchange(nullptr)) {
+ jsMessageThread->runOnQueueSync([&]() noexcept {
+ {
+ // Release the JSI runtime
+ std::scoped_lock lock{m_mutex};
+
+ this->m_jsiRuntimeHolder = nullptr;
+ this->m_jsiRuntime = nullptr;
+ }
+ this->m_bridgelessReactInstance = nullptr;
+ jsMessageThread->quitSynchronous();
+ if (jsDispatchQueue) {
+ jsDispatchQueue.Shutdown(PendingTaskAction::Complete);
+ }
+ m_whenDestroyed.SetValue();
+ });
+ }
+ }
+#endif
+
+ return m_whenDestroyedResult;
+}
+
+const ReactOptions &ReactInstanceWin::Options() const noexcept {
+ return m_options;
+}
+
+ReactInstanceState ReactInstanceWin::State() const noexcept {
+ return m_state;
+}
+
+void ReactInstanceWin::InitJSMessageThread() noexcept {
+ m_instance.Exchange(std::make_shared());
+
+ auto scheduler = Mso::MakeJSCallInvokerScheduler(
+ CreateDispatchQueueSettings(m_reactContext->Notifications()),
+ m_instance.Load()->getJSCallInvoker(),
+ Mso::MakeWeakMemberFunctor(this, &ReactInstanceWin::OnError),
+ Mso::Copy(m_whenDestroyed));
+ auto jsDispatchQueue = Mso::DispatchQueue::MakeCustomQueue(Mso::CntPtr(scheduler));
+
+ auto jsDispatcher =
+ winrt::make(Mso::Copy(jsDispatchQueue));
+ m_options.Properties.Set(ReactDispatcherHelper::JSDispatcherProperty(), jsDispatcher);
+
+ m_jsMessageThread.Exchange(qi_cast(scheduler.Get())->GetMessageQueue());
+ m_jsDispatchQueue.Exchange(std::move(jsDispatchQueue));
+}
+
+void ReactInstanceWin::InitNativeMessageThread() noexcept {
+ // Native queue was already given us in constructor.
+ m_nativeMessageThread.Exchange(
+ std::make_shared(Queue(), Mso::MakeWeakMemberFunctor(this, &ReactInstanceWin::OnError)));
+}
+
+void ReactInstanceWin::InitUIQueue() noexcept {
+ m_uiQueue = winrt::Microsoft::ReactNative::implementation::ReactDispatcher::GetUIDispatchQueue2(m_options.Properties);
+ VerifyElseCrashSz(m_uiQueue, "No UI Dispatcher provided");
+}
+
+void ReactInstanceWin::InitUIMessageThread() noexcept {
+ m_uiMessageThread.Exchange(std::make_shared(
+ *m_uiQueue, Mso::MakeWeakMemberFunctor(this, &ReactInstanceWin::OnError)));
+
+ auto batchingUIThread = Microsoft::ReactNative::MakeBatchingQueueThread(m_uiMessageThread.Load());
+ m_batchingUIThread = batchingUIThread;
+
+ ReactPropertyBag(m_reactContext->Properties())
+ .Set(
+ winrt::Microsoft::ReactNative::implementation::ReactCoreInjection::PostToUIBatchingQueueProperty(),
+ [wkBatchingUIThread = std::weak_ptr(batchingUIThread)](
+ winrt::Microsoft::ReactNative::ReactDispatcherCallback const &callback) {
+ if (auto batchingUIThread = wkBatchingUIThread.lock()) {
+ batchingUIThread->runOnQueue(callback);
+ }
+ });
+
+ m_jsDispatchQueue.Load().Post(
+ [batchingUIThread, instance = std::weak_ptr(m_instance.Load())]() noexcept {
+ batchingUIThread->decoratedNativeCallInvokerReady(instance);
+ });
+}
+
+#if !defined(CORE_ABI) && !defined(USE_FABRIC)
+void ReactInstanceWin::InitUIManager() noexcept {
+ std::vector> viewManagers;
+
+ // Custom view managers
+ if (m_options.ViewManagerProvider) {
+ viewManagers = m_options.ViewManagerProvider->GetViewManagers(m_reactContext);
+ }
+
+ Microsoft::ReactNative::AddStandardViewManagers(viewManagers, *m_reactContext);
+
+ auto uiManagerSettings = std::make_unique(
+ m_batchingUIThread, m_uiMessageThread.Load(), std::move(viewManagers));
+ Microsoft::ReactNative::UIManager::SetSettings(m_reactContext->Properties(), std::move(uiManagerSettings));
+
+ m_reactContext->Properties().Set(
+ implementation::XamlUIService::XamlUIServiceProperty().Handle(),
+ winrt::make(m_reactContext));
+
+ m_reactContext->Properties().Set(
+ implementation::LayoutService::LayoutServiceProperty().Handle(),
+ winrt::make(m_reactContext));
+}
+#endif
+
+facebook::react::NativeLoggingHook ReactInstanceWin::GetLoggingCallback() noexcept {
+ if (m_options.OnLogging) {
+ return [logCallback = m_options.OnLogging](facebook::react::RCTLogLevel logLevel, const char *message) {
+ logCallback(static_cast(logLevel), message);
+ };
+ } else {
+ // When no logging callback was specified, use a default one in DEBUG builds
+#if DEBUG
+ return [telemetryTag{JavaScriptBundleFile()}](facebook::react::RCTLogLevel logLevel, const char *message) {
+ std::ostringstream ss;
+ ss << "ReactNative ['" << telemetryTag << "'] (";
+ switch (logLevel) {
+ case facebook::react::RCTLogLevel::Trace:
+ ss << "trace";
+ break;
+ case facebook::react::RCTLogLevel::Info:
+ ss << "info";
+ break;
+ case facebook::react::RCTLogLevel::Warning:
+ ss << "warning";
+ break;
+ case facebook::react::RCTLogLevel::Error:
+ ss << "error";
+ break;
+ case facebook::react::RCTLogLevel::Fatal:
+ ss << "fatal";
+ break;
+ }
+ ss << "): '" << message << "'\n";
+ OutputDebugStringA(ss.str().c_str());
+ };
+#else
+ return facebook::react::NativeLoggingHook{};
+#endif
+ }
+}
+
+std::shared_ptr ReactInstanceWin::GetRedBoxHandler() noexcept {
+ if (m_options.RedBoxHandler) {
+ return m_options.RedBoxHandler;
+#ifndef CORE_ABI
+ } else if (UseDeveloperSupport()) {
+ auto localWkReactHost = m_weakReactHost;
+ return CreateDefaultRedBoxHandler(
+ winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()),
+ std::move(localWkReactHost),
+ *m_uiQueue);
+#endif
+ } else {
+ return {};
+ }
+}
+
+std::function ReactInstanceWin::GetLiveReloadCallback() noexcept {
+ // Live reload is enabled if we provide a callback function.
+ if (m_isLiveReloadEnabled || m_isFastReloadEnabled) {
+ return Mso::MakeWeakMemberStdFunction(this, &ReactInstanceWin::OnLiveReload);
+ }
+ return std::function{};
+}
+
+std::string ReactInstanceWin::GetBytecodeFileName() noexcept {
+ // use bytecode caching if enabled and not debugging
+ // (ChakraCore debugging does not work when bytecode caching is enabled)
+ // TODO: implement
+ // bool useByteCode = Mso::React::BytecodeOptimizationEnabled() && !m_options.DeveloperSettings.UseDirectDebugger;
+ // return useByteCode ? Mso::React::GetBytecodeFilePath(m_options.Identity) : "";
+ return "";
+}
+
+std::function ReactInstanceWin::GetErrorCallback() noexcept {
+ return Mso::MakeWeakMemberStdFunction(this, &ReactInstanceWin::OnErrorWithMessage);
+}
+
+void ReactInstanceWin::OnErrorWithMessage(const std::string &errorMessage) noexcept {
+ OnError(Mso::React::ReactErrorProvider().MakeErrorCode(Mso::React::ReactError{errorMessage.c_str()}));
+}
+
+void ReactInstanceWin::OnError(const Mso::ErrorCode &errorCode) noexcept {
+ m_state = ReactInstanceState::HasError;
+ AbandonJSCallQueue();
+
+ if (m_redboxHandler && m_redboxHandler->isDevSupportEnabled()) {
+ ErrorInfo errorInfo;
+ errorInfo.Message = errorCode.ToString();
+ errorInfo.Id = 0;
+ m_redboxHandler->showNewError(std::move(errorInfo), ErrorType::Native);
+ }
+
+ InvokeInQueue([this, errorCode]() noexcept { m_options.OnError(errorCode); });
+
+ m_updateUI();
+}
+
+#ifdef USE_FABRIC
+void ReactInstanceWin::OnJSError(
+ facebook::jsi::Runtime &runtime,
+ const facebook::react::JsErrorHandler::ProcessedError &error) noexcept {
+ ErrorInfo errorInfo;
+ errorInfo.Message = error.message;
+ auto errorCode = Mso::React::ReactErrorProvider().MakeErrorCode(Mso::React::ReactError{errorInfo.Message.c_str()});
+
+ for (const facebook::react::JsErrorHandler::ProcessedError::StackFrame &frame : error.stack) {
+ errorInfo.Callstack.push_back(
+ {frame.file.value(), frame.methodName, frame.lineNumber.value(), frame.column.value()});
+ }
+
+ errorInfo.Id = error.id;
+
+ bool isFatal = error.isFatal;
+
+ m_state = ReactInstanceState::HasError;
+ AbandonJSCallQueue();
+
+ OnReactInstanceLoaded(errorCode);
+ if (m_redboxHandler && m_redboxHandler->isDevSupportEnabled()) {
+ m_redboxHandler->showNewError(std::move(errorInfo), isFatal ? ErrorType::JSFatal : ErrorType::JSSoft);
+ }
+
+ InvokeInQueue([this, errorCode]() noexcept { m_options.OnError(errorCode); });
+
+ m_updateUI();
+}
+#endif
+
+void ReactInstanceWin::OnLiveReload() noexcept {
+ if (auto reactHost = m_weakReactHost.GetStrongPtr()) {
+ reactHost->ReloadInstance();
+ }
+}
+
+std::function ReactInstanceWin::GetWaitingForDebuggerCallback() noexcept {
+ if (m_useWebDebugger) {
+ return Mso::MakeWeakMemberStdFunction(this, &ReactInstanceWin::OnWaitingForDebugger);
+ }
+
+ return {};
+}
+
+void ReactInstanceWin::OnWaitingForDebugger() noexcept {
+ auto state = m_state.load();
+ while (state == ReactInstanceState::Loading) {
+ if (m_state.compare_exchange_weak(state, ReactInstanceState::WaitingForDebugger)) {
+ break;
+ }
+ }
+
+ m_updateUI();
+}
+
+std::function ReactInstanceWin::GetDebuggerAttachCallback() noexcept {
+ if (m_useWebDebugger) {
+ return Mso::MakeWeakMemberStdFunction(this, &ReactInstanceWin::OnDebuggerAttach);
+ }
+
+ return {};
+}
+
+void ReactInstanceWin::OnDebuggerAttach() noexcept {
+ m_updateUI();
+}
+
+void ReactInstanceWin::DrainJSCallQueue() noexcept {
+ // Handle all items in the queue one by one.
+ for (;;) {
+ JSCallEntry entry; // To avoid callJSFunction under the lock
+ {
+ std::scoped_lock lock{m_mutex};
+ if (m_state == ReactInstanceState::Loaded && !m_jsCallQueue.empty()) {
+ entry = std::move(m_jsCallQueue.front());
+ m_jsCallQueue.pop_front();
+ } else {
+ break;
+ }
+ }
+
+#ifdef USE_FABRIC
+ if (m_bridgelessReactInstance) {
+ m_bridgelessReactInstance->callFunctionOnModule(entry.ModuleName, entry.MethodName, std::move(entry.Args));
+ } else
+#endif
+ if (auto instance = m_instance.LoadWithLock()) {
+ instance->callJSFunction(std::move(entry.ModuleName), std::move(entry.MethodName), std::move(entry.Args));
+ }
+ }
+}
+
+void ReactInstanceWin::AbandonJSCallQueue() noexcept {
+ std::deque jsCallQueue; // To avoid destruction under the lock
+ {
+ std::scoped_lock lock{m_mutex};
+ if (m_state == ReactInstanceState::HasError || m_state == ReactInstanceState::Unloaded) {
+ jsCallQueue = std::move(m_jsCallQueue);
+ }
+ }
+}
+
+void ReactInstanceWin::CallJsFunction(
+ std::string &&moduleName,
+ std::string &&method,
+ folly::dynamic &¶ms) noexcept {
+ bool shouldCall{false}; // To call callJSFunction outside of lock
+ {
+ std::scoped_lock lock{m_mutex};
+ if (m_state == ReactInstanceState::Loaded && m_jsCallQueue.empty()) {
+ shouldCall = true;
+ } else if (
+ m_state == ReactInstanceState::Loading || m_state == ReactInstanceState::WaitingForDebugger ||
+ (m_state == ReactInstanceState::Loaded && !m_jsCallQueue.empty())) {
+ m_jsCallQueue.push_back(JSCallEntry{std::move(moduleName), std::move(method), std::move(params)});
+ }
+ // otherwise ignore the call
+ }
+
+ if (shouldCall) {
+#ifdef USE_FABRIC
+ if (m_bridgelessReactInstance) {
+ m_bridgelessReactInstance->callFunctionOnModule(moduleName, method, std::move(params));
+ } else
+#endif
+ if (auto instance = m_instance.LoadWithLock()) {
+ instance->callJSFunction(std::move(moduleName), std::move(method), std::move(params));
+ }
+ }
+}
+
+void ReactInstanceWin::DispatchEvent(int64_t viewTag, std::string &&eventName, folly::dynamic &&eventData) noexcept {
+ folly::dynamic params = folly::dynamic::array(viewTag, std::move(eventName), std::move(eventData));
+ CallJsFunction("RCTEventEmitter", "receiveEvent", std::move(params));
+}
+
+winrt::Microsoft::ReactNative::JsiRuntime ReactInstanceWin::JsiRuntime() noexcept {
+ std::shared_ptr jsiRuntimeHolder;
+ {
+ std::scoped_lock lock{m_mutex};
+ if (m_jsiRuntime) {
+ return m_jsiRuntime;
+ } else {
+ jsiRuntimeHolder = m_jsiRuntimeHolder;
+ }
+ }
+
+ auto jsiRuntime = jsiRuntimeHolder ? jsiRuntimeHolder->getRuntime() : nullptr;
+
+ {
+ std::scoped_lock lock{m_mutex};
+ if (!m_jsiRuntime && jsiRuntime) {
+ // Set only if other thread did not do it yet.
+ m_jsiRuntime =
+ winrt::Microsoft::ReactNative::implementation::JsiRuntime::GetOrCreate(jsiRuntimeHolder, jsiRuntime);
+ }
+
+ return m_jsiRuntime;
+ }
+}
+
+std::shared_ptr ReactInstanceWin::GetInnerInstance() noexcept {
+ return m_instance.LoadWithLock();
+}
+
+bool ReactInstanceWin::IsLoaded() const noexcept {
+ return m_state == ReactInstanceState::Loaded;
+}
+
+void ReactInstanceWin::AttachMeasuredRootView(
+ facebook::react::IReactRootView *rootView,
+ const winrt::Microsoft::ReactNative::JSValueArgWriter &initialProps,
+ bool useFabric) noexcept {
+ if (State() == ReactInstanceState::HasError)
+ return;
+
+ assert(!useFabric);
+#ifndef CORE_ABI
+ if (!useFabric || m_useWebDebugger) {
+ int64_t rootTag = -1;
+
+#if !defined(CORE_ABI) && !defined(USE_FABRIC)
+ if (auto uiManager = Microsoft::ReactNative::GetNativeUIManager(*m_reactContext).lock()) {
+ rootTag = uiManager->AddMeasuredRootView(rootView);
+ rootView->SetTag(rootTag);
+ } else {
+ assert(false);
+ }
+#endif
+
+ std::string jsMainModuleName = rootView->JSComponentName();
+ folly::dynamic params = folly::dynamic::array(
+ std::move(jsMainModuleName),
+ folly::dynamic::object("initialProps", DynamicWriter::ToDynamic(initialProps))("rootTag", rootTag)(
+ "fabric", false));
+ CallJsFunction("AppRegistry", "runApplication", std::move(params));
+ }
+#endif
+}
+
+void ReactInstanceWin::DetachRootView(facebook::react::IReactRootView *rootView, bool useFabric) noexcept {
+ if (State() == ReactInstanceState::HasError)
+ return;
+
+ auto rootTag = rootView->GetTag();
+ folly::dynamic params = folly::dynamic::array(rootTag);
+
+#ifdef USE_FABRIC
+ if (useFabric && !m_useWebDebugger) {
+ auto uiManager = ::Microsoft::ReactNative::FabricUIManager::FromProperties(
+ winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()));
+ uiManager->stopSurface(static_cast(rootTag));
+ } else
+#endif
+ {
+ CallJsFunction("AppRegistry", "unmountApplicationComponentAtRootTag", std::move(params));
+ }
+
+ // Give the JS thread time to finish executing
+ m_jsMessageThread.Load()->runOnQueueSync([]() {});
+}
+
+Mso::CntPtr MakeReactInstance(
+ IReactHost &reactHost,
+ ReactOptions &&options,
+ Mso::Promise &&whenCreated,
+ Mso::Promise &&whenLoaded,
+ Mso::VoidFunctor &&updateUI) noexcept {
+ return Mso::Make(
+ reactHost, std::move(options), std::move(whenCreated), std::move(whenLoaded), std::move(updateUI));
+}
+
+bool ReactInstanceWin::UseWebDebugger() const noexcept {
+ return m_useWebDebugger;
+}
+
+bool ReactInstanceWin::UseFastRefresh() const noexcept {
+ return m_isFastReloadEnabled;
+}
+
+bool ReactInstanceWin::UseDirectDebugger() const noexcept {
+ return m_useDirectDebugger;
+}
+
+bool ReactInstanceWin::DebuggerBreakOnNextLine() const noexcept {
+ return m_debuggerBreakOnNextLine;
+}
+
+uint16_t ReactInstanceWin::DebuggerPort() const noexcept {
+ return m_options.DeveloperSettings.DebuggerPort;
+}
+
+std::string ReactInstanceWin::DebugBundlePath() const noexcept {
+ return m_options.DeveloperSettings.SourceBundleName.empty() ? m_options.Identity
+ : m_options.DeveloperSettings.SourceBundleName;
+}
+
+std::string ReactInstanceWin::BundleRootPath() const noexcept {
+ return m_options.BundleRootPath.empty() ? "ms-appx:///Bundle/" : m_options.BundleRootPath;
+}
+
+std::string ReactInstanceWin::SourceBundleHost() const noexcept {
+ return m_options.DeveloperSettings.SourceBundleHost.empty() ? facebook::react::DevServerHelper::DefaultPackagerHost
+ : m_options.DeveloperSettings.SourceBundleHost;
+}
+
+uint16_t ReactInstanceWin::SourceBundlePort() const noexcept {
+ return m_options.DeveloperSettings.SourceBundlePort ? m_options.DeveloperSettings.SourceBundlePort
+ : facebook::react::DevServerHelper::DefaultPackagerPort;
+}
+
+bool ReactInstanceWin::RequestInlineSourceMap() const noexcept {
+ return m_options.DeveloperSettings.RequestInlineSourceMap;
+}
+
+JSIEngine ReactInstanceWin::JsiEngine() const noexcept {
+ return m_options.JsiEngine();
+}
+
+std::string ReactInstanceWin::JavaScriptBundleFile() const noexcept {
+ return m_options.Identity;
+}
+
+std::string ReactInstanceWin::BundleAppId() const noexcept {
+ return m_options.DeveloperSettings.BundleAppId;
+}
+
+bool ReactInstanceWin::RequestDevBundle() const noexcept {
+ return m_options.DeveloperSettings.DevBundle;
+}
+
+bool ReactInstanceWin::UseDeveloperSupport() const noexcept {
+ return m_options.UseDeveloperSupport();
+}
+
+Mso::React::IReactContext &ReactInstanceWin::GetReactContext() const noexcept {
+ return *m_reactContext;
+}
+
+} // namespace Mso::React
diff --git a/vnext/src-win/index.windows.js b/vnext/src-win/index.windows.js
index a7566f20331..bde0d3a7725 100644
--- a/vnext/src-win/index.windows.js
+++ b/vnext/src-win/index.windows.js
@@ -48,6 +48,7 @@ import typeof TouchableNativeFeedback from './Libraries/Components/Touchable/Tou
import typeof TouchableOpacity from './Libraries/Components/Touchable/TouchableOpacity';
import typeof TouchableWithoutFeedback from './Libraries/Components/Touchable/TouchableWithoutFeedback';
import typeof View from './Libraries/Components/View/View';
+import typeof RegisterCallableModule from './Libraries/Core/registerCallableModule';
import typeof NativeEventEmitter from './Libraries/EventEmitter/NativeEventEmitter';
import typeof RCTDeviceEventEmitter from './Libraries/EventEmitter/RCTDeviceEventEmitter';
import typeof RCTNativeAppEventEmitter from './Libraries/EventEmitter/RCTNativeAppEventEmitter';
@@ -107,6 +108,9 @@ const invariant = require('invariant');
export type {HostComponent, HostInstance};
module.exports = {
+ get registerCallableModule(): RegisterCallableModule {
+ return require('./Libraries/Core/registerCallableModule').default;
+ },
// Components
get AccessibilityInfo(): AccessibilityInfo {
return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo')
@@ -286,7 +290,6 @@ module.exports = {
get NativeEventEmitter(): NativeEventEmitter {
return require('./Libraries/EventEmitter/NativeEventEmitter').default;
},
- // $FlowFixMe[value-as-type]
get Networking(): Networking {
return require('./Libraries/Network/RCTNetworking').default;
},
@@ -308,7 +311,6 @@ module.exports = {
);
return require('./Libraries/PushNotificationIOS/PushNotificationIOS');
},
- // $FlowFixMe[value-as-type]
get Settings(): Settings {
return require('./Libraries/Settings/Settings');
},
From 8752d0cd7d1d8929994818e91581251cb2a61ede Mon Sep 17 00:00:00 2001
From: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
Date: Mon, 5 May 2025 21:15:40 -0700
Subject: [PATCH 15/19] TurboModules should always use JSCallInvoker even on
callbacks
---
.../TurboModuleTests.cpp | 2 -
...atcherWriter.cpp => CallInvokerWriter.cpp} | 66 +-
...DispatcherWriter.h => CallInvokerWriter.h} | 17 +-
.../TurboModulesProvider.cpp | 24 +-
.../Utils/LocalBundleReader.cpp | 5 +-
vnext/Shared/Shared.vcxitems | 2 +-
.../ReactInstanceWin.cpp | 1593 -----------------
7 files changed, 57 insertions(+), 1652 deletions(-)
rename vnext/Microsoft.ReactNative/{JSDispatcherWriter.cpp => CallInvokerWriter.cpp} (67%)
rename vnext/Microsoft.ReactNative/{JSDispatcherWriter.h => CallInvokerWriter.h} (69%)
delete mode 100644 vnext/enc_temp_folder/8152f4ceb3024b97bf76fb2bcadd75/ReactInstanceWin.cpp
diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/TurboModuleTests.cpp b/vnext/Microsoft.ReactNative.IntegrationTests/TurboModuleTests.cpp
index 72516e910f4..2486e8fdba1 100644
--- a/vnext/Microsoft.ReactNative.IntegrationTests/TurboModuleTests.cpp
+++ b/vnext/Microsoft.ReactNative.IntegrationTests/TurboModuleTests.cpp
@@ -570,7 +570,6 @@ TEST_CLASS (TurboModuleTests) {
TestCheck(!registered);
}
- #if !USE_FABRIC
TEST_METHOD(ExecuteSampleTurboModule) {
TestEventService::Initialize();
@@ -646,7 +645,6 @@ TEST_CLASS (TurboModuleTests) {
TestEvent{"sayHelloSync", "Hello"},
});
}
- #endif
TEST_METHOD(JSDispatcherAfterInstanceUnload) {
TestEventService::Initialize();
diff --git a/vnext/Microsoft.ReactNative/JSDispatcherWriter.cpp b/vnext/Microsoft.ReactNative/CallInvokerWriter.cpp
similarity index 67%
rename from vnext/Microsoft.ReactNative/JSDispatcherWriter.cpp
rename to vnext/Microsoft.ReactNative/CallInvokerWriter.cpp
index 264600596ef..2e75bd3c98f 100644
--- a/vnext/Microsoft.ReactNative/JSDispatcherWriter.cpp
+++ b/vnext/Microsoft.ReactNative/CallInvokerWriter.cpp
@@ -2,7 +2,7 @@
// Licensed under the MIT License.
#include "pch.h"
-#include "JSDispatcherWriter.h"
+#include "CallInvokerWriter.h"
#include
#include
@@ -25,23 +25,24 @@ struct JSNoopWriter : winrt::implements {
};
//===========================================================================
-// JSDispatcherWriter implementation
+// CallInvokerWriter implementation
//===========================================================================
-JSDispatcherWriter::JSDispatcherWriter(
- IReactDispatcher const &jsDispatcher,
+CallInvokerWriter::CallInvokerWriter(
+ const std::shared_ptr &jsInvoker,
std::weak_ptr jsiRuntimeHolder) noexcept
- : m_jsDispatcher(jsDispatcher), m_jsiRuntimeHolder(std::move(jsiRuntimeHolder)) {}
+ : m_callInvoker(jsInvoker), m_jsiRuntimeHolder(std::move(jsiRuntimeHolder)) {}
-JSDispatcherWriter::~JSDispatcherWriter() {
+ CallInvokerWriter::~CallInvokerWriter() {
if (auto jsiRuntimeHolder = m_jsiRuntimeHolder.lock()) {
jsiRuntimeHolder->allowRelease();
}
}
-void JSDispatcherWriter::WithResultArgs(
+void CallInvokerWriter::WithResultArgs(
Mso::Functor
handler) noexcept {
+/*
if (m_jsDispatcher.HasThreadAccess()) {
VerifyElseCrash(!m_dynamicWriter);
if (auto jsiRuntimeHolder = m_jsiRuntimeHolder.lock()) {
@@ -52,66 +53,64 @@ void JSDispatcherWriter::WithResultArgs(
m_jsiWriter = nullptr;
}
} else {
+*/
VerifyElseCrash(!m_jsiWriter);
folly::dynamic dynValue = m_dynamicWriter->TakeValue();
VerifyElseCrash(dynValue.isArray());
- m_jsDispatcher.Post(
- [handler, dynValue = std::move(dynValue), weakJsiRuntimeHolder = m_jsiRuntimeHolder, self = get_strong()]() {
- if (auto jsiRuntimeHolder = weakJsiRuntimeHolder.lock()) {
- std::vector args;
- args.reserve(dynValue.size());
- auto &runtime = jsiRuntimeHolder->Runtime();
- for (auto const &item : dynValue) {
- args.emplace_back(facebook::jsi::valueFromDynamic(runtime, item));
- }
- handler(runtime, args.data(), args.size());
- }
- });
- }
+ m_callInvoker->invokeAsync([handler, dynValue = std::move(dynValue), weakJsiRuntimeHolder = m_jsiRuntimeHolder, self = get_strong()](facebook::jsi::Runtime& runtime) {
+ std::vector args;
+ args.reserve(dynValue.size());
+ for (auto const &item : dynValue) {
+ args.emplace_back(facebook::jsi::valueFromDynamic(runtime, item));
+ }
+ handler(runtime, args.data(), args.size());
+ });
+ //}
}
-void JSDispatcherWriter::WriteNull() noexcept {
+void CallInvokerWriter::WriteNull() noexcept {
GetWriter().WriteNull();
}
-void JSDispatcherWriter::WriteBoolean(bool value) noexcept {
+void CallInvokerWriter::WriteBoolean(bool value) noexcept {
GetWriter().WriteBoolean(value);
}
-void JSDispatcherWriter::WriteInt64(int64_t value) noexcept {
+void CallInvokerWriter::WriteInt64(int64_t value) noexcept {
GetWriter().WriteInt64(value);
}
-void JSDispatcherWriter::WriteDouble(double value) noexcept {
+void CallInvokerWriter::WriteDouble(double value) noexcept {
GetWriter().WriteDouble(value);
}
-void JSDispatcherWriter::WriteString(const winrt::hstring &value) noexcept {
+void CallInvokerWriter::WriteString(const winrt::hstring &value) noexcept {
GetWriter().WriteString(value);
}
-void JSDispatcherWriter::WriteObjectBegin() noexcept {
+void CallInvokerWriter::WriteObjectBegin() noexcept {
GetWriter().WriteObjectBegin();
}
-void JSDispatcherWriter::WritePropertyName(const winrt::hstring &name) noexcept {
+void CallInvokerWriter::WritePropertyName(const winrt::hstring &name) noexcept {
GetWriter().WritePropertyName(name);
}
-void JSDispatcherWriter::WriteObjectEnd() noexcept {
+void CallInvokerWriter::WriteObjectEnd() noexcept {
GetWriter().WriteObjectEnd();
}
-void JSDispatcherWriter::WriteArrayBegin() noexcept {
+void CallInvokerWriter::WriteArrayBegin() noexcept {
GetWriter().WriteArrayBegin();
}
-void JSDispatcherWriter::WriteArrayEnd() noexcept {
+void CallInvokerWriter::WriteArrayEnd() noexcept {
GetWriter().WriteArrayEnd();
}
-IJSValueWriter JSDispatcherWriter::GetWriter() noexcept {
+IJSValueWriter CallInvokerWriter::GetWriter() noexcept {
if (!m_writer) {
+/*
if (m_jsDispatcher.HasThreadAccess()) {
if (auto jsiRuntimeHolder = m_jsiRuntimeHolder.lock()) {
m_jsiWriter = winrt::make_self(jsiRuntimeHolder->Runtime());
@@ -120,11 +119,12 @@ IJSValueWriter JSDispatcherWriter::GetWriter() noexcept {
m_writer = winrt::make();
}
} else {
+ */
m_dynamicWriter = winrt::make_self();
m_writer = m_dynamicWriter.as();
- }
+ //}
}
- Debug(VerifyElseCrash(m_dynamicWriter != nullptr || m_jsDispatcher.HasThreadAccess()));
+ Debug(VerifyElseCrash(m_dynamicWriter != nullptr/* || m_jsDispatcher.HasThreadAccess()*/));
return m_writer;
}
diff --git a/vnext/Microsoft.ReactNative/JSDispatcherWriter.h b/vnext/Microsoft.ReactNative/CallInvokerWriter.h
similarity index 69%
rename from vnext/Microsoft.ReactNative/JSDispatcherWriter.h
rename to vnext/Microsoft.ReactNative/CallInvokerWriter.h
index 50b2cb1c107..424ef858e5b 100644
--- a/vnext/Microsoft.ReactNative/JSDispatcherWriter.h
+++ b/vnext/Microsoft.ReactNative/CallInvokerWriter.h
@@ -7,16 +7,17 @@
#include "DynamicWriter.h"
#include "JsiWriter.h"
#include "winrt/Microsoft.ReactNative.h"
+#include
namespace winrt::Microsoft::ReactNative {
-// IJSValueWriter to ensure that JsiWriter is always used from JSDispatcher.
-// In case if writing is done outside of JSDispatcher, it uses DynamicWriter to create
-// folly::dynamic which then is written to JsiWriter in JSDispatcher.
-struct JSDispatcherWriter : winrt::implements {
- ~JSDispatcherWriter();
- JSDispatcherWriter(
- IReactDispatcher const &jsDispatcher,
+// IJSValueWriter to ensure that JsiWriter is always used from a RuntimeExecutor.
+// In case if writing is done outside of RuntimeExecutor, it uses DynamicWriter to create
+// folly::dynamic which then is written to JsiWriter in RuntimeExecutor.
+struct CallInvokerWriter : winrt::implements {
+ ~CallInvokerWriter();
+ CallInvokerWriter(
+ const std::shared_ptr &jsInvoker,
std::weak_ptr jsiRuntimeHolder) noexcept;
void WithResultArgs(Mso::Functor
handler) noexcept;
@@ -37,7 +38,7 @@ struct JSDispatcherWriter : winrt::implements m_callInvoker;
std::weak_ptr m_jsiRuntimeHolder;
winrt::com_ptr m_dynamicWriter;
winrt::com_ptr m_jsiWriter;
diff --git a/vnext/Microsoft.ReactNative/TurboModulesProvider.cpp b/vnext/Microsoft.ReactNative/TurboModulesProvider.cpp
index 24292e540cc..294e48b4f55 100644
--- a/vnext/Microsoft.ReactNative/TurboModulesProvider.cpp
+++ b/vnext/Microsoft.ReactNative/TurboModulesProvider.cpp
@@ -9,7 +9,7 @@
#include "TurboModulesProvider.h"
#include
#include
-#include "JSDispatcherWriter.h"
+#include "CallInvokerWriter.h"
#include "JSValueWriter.h"
#include "JsiApi.h"
#include "JsiReader.h"
@@ -202,7 +202,7 @@ class TurboModuleImpl : public facebook::react::TurboModule {
runtime,
propName,
0,
- [jsDispatcher = m_reactContext.JSDispatcher(),
+ [jsInvoker = jsInvoker_,
method = methodInfo.Method,
longLivedObjectCollection = m_longLivedObjectCollection](
facebook::jsi::Runtime &rt,
@@ -214,7 +214,7 @@ class TurboModuleImpl : public facebook::react::TurboModule {
auto jsiRuntimeHolder = LongLivedJsiRuntime::CreateWeak(strongLongLivedObjectCollection, rt);
method(
winrt::make(rt, args, argCount - 1),
- winrt::make(jsDispatcher, jsiRuntimeHolder),
+ winrt::make(jsInvoker, jsiRuntimeHolder),
MakeCallback(rt, strongLongLivedObjectCollection, args[argCount - 1]),
nullptr);
}
@@ -225,7 +225,7 @@ class TurboModuleImpl : public facebook::react::TurboModule {
runtime,
propName,
0,
- [jsDispatcher = m_reactContext.JSDispatcher(),
+ [jsInvoker = jsInvoker_,
method = methodInfo.Method,
longLivedObjectCollection = m_longLivedObjectCollection](
facebook::jsi::Runtime &rt,
@@ -242,9 +242,9 @@ class TurboModuleImpl : public facebook::react::TurboModule {
method(
winrt::make(rt, args, argCount - 2),
- winrt::make(jsDispatcher, jsiRuntimeHolder),
+ winrt::make(jsInvoker, jsiRuntimeHolder),
[weakCallback1, weakCallback2, jsiRuntimeHolder](const IJSValueWriter &writer) noexcept {
- writer.as()->WithResultArgs(
+ writer.as()->WithResultArgs(
[weakCallback1, weakCallback2, jsiRuntimeHolder](
facebook::jsi::Runtime &rt, facebook::jsi::Value const *args, size_t count) {
if (auto callback1 = weakCallback1.lock()) {
@@ -260,7 +260,7 @@ class TurboModuleImpl : public facebook::react::TurboModule {
});
},
[weakCallback1, weakCallback2, jsiRuntimeHolder](const IJSValueWriter &writer) noexcept {
- writer.as()->WithResultArgs(
+ writer.as()->WithResultArgs(
[weakCallback1, weakCallback2, jsiRuntimeHolder](
facebook::jsi::Runtime &rt, facebook::jsi::Value const *args, size_t count) {
if (auto callback2 = weakCallback2.lock()) {
@@ -283,7 +283,7 @@ class TurboModuleImpl : public facebook::react::TurboModule {
runtime,
propName,
0,
- [jsDispatcher = m_reactContext.JSDispatcher(),
+ [jsInvoker = jsInvoker_,
method = methodInfo.Method,
longLivedObjectCollection = m_longLivedObjectCollection](
facebook::jsi::Runtime &rt,
@@ -293,7 +293,7 @@ class TurboModuleImpl : public facebook::react::TurboModule {
if (auto strongLongLivedObjectCollection = longLivedObjectCollection.lock()) {
auto jsiRuntimeHolder = LongLivedJsiRuntime::CreateWeak(strongLongLivedObjectCollection, rt);
auto argReader = winrt::make(rt, args, count);
- auto argWriter = winrt::make(jsDispatcher, jsiRuntimeHolder);
+ auto argWriter = winrt::make(jsInvoker, jsiRuntimeHolder);
return facebook::react::createPromiseAsJSIValue(
rt,
[method, argReader, argWriter, strongLongLivedObjectCollection, jsiRuntimeHolder](
@@ -306,7 +306,7 @@ class TurboModuleImpl : public facebook::react::TurboModule {
argReader,
argWriter,
[weakResolve, weakReject, jsiRuntimeHolder](const IJSValueWriter &writer) {
- writer.as()->WithResultArgs(
+ writer.as()->WithResultArgs(
[weakResolve, weakReject, jsiRuntimeHolder](
facebook::jsi::Runtime &runtime,
facebook::jsi::Value const *args,
@@ -325,7 +325,7 @@ class TurboModuleImpl : public facebook::react::TurboModule {
});
},
[weakResolve, weakReject, jsiRuntimeHolder](const IJSValueWriter &writer) {
- writer.as()->WithResultArgs(
+ writer.as()->WithResultArgs(
[weakResolve, weakReject, jsiRuntimeHolder](
facebook::jsi::Runtime &runtime,
facebook::jsi::Value const *args,
@@ -438,7 +438,7 @@ class TurboModuleImpl : public facebook::react::TurboModule {
auto weakCallback =
LongLivedJsiFunction::CreateWeak(longLivedObjectCollection, rt, callback.getObject(rt).getFunction(rt));
return [weakCallback = std::move(weakCallback)](const IJSValueWriter &writer) noexcept {
- writer.as()->WithResultArgs(
+ writer.as()->WithResultArgs(
[weakCallback](facebook::jsi::Runtime &rt, facebook::jsi::Value const *args, size_t count) {
if (auto callback = weakCallback.lock()) {
callback->Value().call(rt, args, count);
diff --git a/vnext/Microsoft.ReactNative/Utils/LocalBundleReader.cpp b/vnext/Microsoft.ReactNative/Utils/LocalBundleReader.cpp
index acc9939159e..d7c4cdd3a67 100644
--- a/vnext/Microsoft.ReactNative/Utils/LocalBundleReader.cpp
+++ b/vnext/Microsoft.ReactNative/Utils/LocalBundleReader.cpp
@@ -87,10 +87,9 @@ std::future LocalBundleReader::LoadBundleAsync(const std::wstring b
dataReader.Close();
co_return script;
- }
+ }
// RuntimeScheduler only handles std::exception or jsi::JSError
- catch (winrt::hresult_error const& e)
- {
+ catch (winrt::hresult_error const &e) {
throw std::exception(winrt::to_string(e.message()).c_str());
}
}
diff --git a/vnext/Shared/Shared.vcxitems b/vnext/Shared/Shared.vcxitems
index 3107d11bd4f..d285ef0bd13 100644
--- a/vnext/Shared/Shared.vcxitems
+++ b/vnext/Shared/Shared.vcxitems
@@ -398,7 +398,7 @@
$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\IReactDispatcher.idl
-
+
$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\IJSValueWriter.idl
diff --git a/vnext/enc_temp_folder/8152f4ceb3024b97bf76fb2bcadd75/ReactInstanceWin.cpp b/vnext/enc_temp_folder/8152f4ceb3024b97bf76fb2bcadd75/ReactInstanceWin.cpp
deleted file mode 100644
index 057beb22bbe..00000000000
--- a/vnext/enc_temp_folder/8152f4ceb3024b97bf76fb2bcadd75/ReactInstanceWin.cpp
+++ /dev/null
@@ -1,1593 +0,0 @@
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License.
-
-#include "ReactInstanceWin.h"
-
-#include
-#include
-#include
-#include