Skip to content

Commit

Permalink
ABI-safe Hermes API and new JSI for Node-API (#11696) (#11755)
Browse files Browse the repository at this point in the history
  • Loading branch information
vmoroz committed Jun 14, 2023
1 parent 693e578 commit 258dc53
Show file tree
Hide file tree
Showing 55 changed files with 1,306 additions and 3,309 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "prerelease",
"comment": "ABI-safe Hermes API and new JSI for Node-API",
"packageName": "@react-native-windows/telemetry",
"email": "vmorozov@microsoft.com",
"dependentChangeType": "patch"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "prerelease",
"comment": "ABI-safe Hermes API and new JSI for Node-API",
"packageName": "react-native-windows",
"email": "vmorozov@microsoft.com",
"dependentChangeType": "patch"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
<packages>
<package id="Microsoft.Windows.CppWinRT" version="2.0.210312.4" targetFramework="native"/>
<package id="Microsoft.UI.Xaml" version="2.6.0" targetFramework="native"/>
<package id="ReactNative.Hermes.Windows" version="0.0.0-2302.1002-2d4bf1df" targetFramework="native"/>
<package id="Microsoft.JavaScript.Hermes" version="0.1.15" targetFramework="native"/>
</packages>
63 changes: 56 additions & 7 deletions packages/e2e-test-app/windows/RNTesterApp/packages.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@
"type": "Direct",
"requested": "[2.8.0, )",
"resolved": "2.8.0",
"contentHash": "dB4im13tfmMgL/V3Ei+3kD2rUF+/lTxAmR4gjJ45l577eljHfdo/KUrxpq/3I1Vp6e5GCDG1evDaEGuDxypLMg=="
"contentHash": "vxdHxTr63s5KVtNddMFpgvjBjUH50z7seq/5jLWmmSuf8poxg+sXrywkofUdE8ZstbpO9y3FL/IXXUcPYbeesA==",
"dependencies": {
"Microsoft.Web.WebView2": "1.0.1264.42"
}
},
"XamlTreeDump": {
"type": "Direct",
Expand All @@ -31,6 +34,16 @@
"resolved": "1.76.0",
"contentHash": "p+w3YvNdXL8Cu9Fzrmexssu0tZbWxuf6ywsQqHjDlKFE5ojXHof1HIyMC3zDLfLnh80dIeFcEUAuR2Asg/XHRA=="
},
"CDebug": {
"type": "Transitive",
"resolved": "0.0.3",
"contentHash": "C6pojNJ2rdJuOdhe0xhJ/FedNLRJkpCVLEEHsfgoU5d5kkOOVKK+7xlGWYgttB51nDB5dLDu/O8j03jSxu81oA=="
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
"resolved": "0.1.15",
"contentHash": "My/u5RvxoymtwWokoweU6iVpuP79w271UjadcmSNqnQ9ESIv00tlVP4sHnIiN3t2lJNDeciyE1EVF4swGPECKQ=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
"resolved": "2.2.7-rel-27913-00",
Expand All @@ -57,6 +70,11 @@
"resolved": "2.1.0",
"contentHash": "ok+RPAtESz/9MUXeIEz6Lv5XAGQsaNmEYXMsgVALj4D7kqC8gveKWXWXbufLySR2fWrwZf8smyN5RmHu0e4BHA=="
},
"Microsoft.Web.WebView2": {
"type": "Transitive",
"resolved": "1.0.1264.42",
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
},
"Microsoft.Windows.SDK.BuildTools": {
"type": "Transitive",
"resolved": "10.0.22000.194",
Expand All @@ -70,11 +88,6 @@
"Microsoft.NETCore.Platforms": "1.1.0"
}
},
"ReactNative.Hermes.Windows": {
"type": "Transitive",
"resolved": "0.0.0-2302.1001-19052299",
"contentHash": "b6GLQSLaffgxAXwoTrxfj73W5cxlPxmNlQoVmyAnucXPCwV7HiL0rZsqGpBf+r2rdubUS35patY/c+8RiBR4+Q=="
},
"runtime.win10-arm.Microsoft.Net.Native.Compiler": {
"type": "Transitive",
"resolved": "2.2.7-rel-27913-00",
Expand Down Expand Up @@ -167,10 +180,10 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"Microsoft.JavaScript.Hermes": "[0.1.15, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"Microsoft.Windows.SDK.BuildTools": "[10.0.22000.194, )",
"ReactCommon": "[1.0.0, )",
"ReactNative.Hermes.Windows": "[0.0.0-2302.1001-19052299, )",
"boost": "[1.76.0, )"
}
},
Expand Down Expand Up @@ -198,6 +211,7 @@
"reactnativexaml": {
"type": "Project",
"dependencies": {
"CDebug": "[0.0.3, )",
"Microsoft.ReactNative": "[1.0.0, )",
"Microsoft.UI.Xaml": "[2.8.0, )"
}
Expand All @@ -217,6 +231,11 @@
"runtime.win10-arm.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
}
},
"Microsoft.Web.WebView2": {
"type": "Transitive",
"resolved": "1.0.1264.42",
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
},
"runtime.win10-arm.Microsoft.NETCore.UniversalWindowsPlatform": {
"type": "Transitive",
"resolved": "6.2.9",
Expand All @@ -237,6 +256,11 @@
"runtime.win10-arm-aot.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
}
},
"Microsoft.Web.WebView2": {
"type": "Transitive",
"resolved": "1.0.1264.42",
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
},
"runtime.win10-arm-aot.Microsoft.NETCore.UniversalWindowsPlatform": {
"type": "Transitive",
"resolved": "6.2.9",
Expand All @@ -257,6 +281,11 @@
"runtime.win10-arm64-aot.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
}
},
"Microsoft.Web.WebView2": {
"type": "Transitive",
"resolved": "1.0.1264.42",
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
},
"runtime.win10-arm64-aot.Microsoft.NETCore.UniversalWindowsPlatform": {
"type": "Transitive",
"resolved": "6.2.9",
Expand All @@ -277,6 +306,11 @@
"runtime.win10-x64.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
}
},
"Microsoft.Web.WebView2": {
"type": "Transitive",
"resolved": "1.0.1264.42",
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
},
"runtime.win10-x64.Microsoft.NETCore.UniversalWindowsPlatform": {
"type": "Transitive",
"resolved": "6.2.9",
Expand All @@ -297,6 +331,11 @@
"runtime.win10-x64-aot.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
}
},
"Microsoft.Web.WebView2": {
"type": "Transitive",
"resolved": "1.0.1264.42",
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
},
"runtime.win10-x64-aot.Microsoft.NETCore.UniversalWindowsPlatform": {
"type": "Transitive",
"resolved": "6.2.9",
Expand All @@ -317,6 +356,11 @@
"runtime.win10-x86.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
}
},
"Microsoft.Web.WebView2": {
"type": "Transitive",
"resolved": "1.0.1264.42",
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
},
"runtime.win10-x86.Microsoft.NETCore.UniversalWindowsPlatform": {
"type": "Transitive",
"resolved": "6.2.9",
Expand All @@ -337,6 +381,11 @@
"runtime.win10-x86-aot.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
}
},
"Microsoft.Web.WebView2": {
"type": "Transitive",
"resolved": "1.0.1264.42",
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
},
"runtime.win10-x86-aot.Microsoft.NETCore.UniversalWindowsPlatform": {
"type": "Transitive",
"resolved": "6.2.9",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@
"resolved": "1.76.0",
"contentHash": "p+w3YvNdXL8Cu9Fzrmexssu0tZbWxuf6ywsQqHjDlKFE5ojXHof1HIyMC3zDLfLnh80dIeFcEUAuR2Asg/XHRA=="
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
"resolved": "0.1.14",
"contentHash": "YhW4fHxZ+ZIt3eZbFiMxhBzkZPISudZx9rEX+4RlB5EZWzpaKUAqfSUQJcapqdPXa4bw4dla9q9THyUqveBBRA=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
"resolved": "2.2.7-rel-27913-00",
Expand Down Expand Up @@ -71,11 +76,6 @@
"Microsoft.NETCore.Platforms": "1.1.0"
}
},
"ReactNative.Hermes.Windows": {
"type": "Transitive",
"resolved": "0.0.0-2302.1002-2d4bf1df",
"contentHash": "4skpllUPEBkww7FN7iacP7NWrZlEGDNg83qIuFjKn4Sl8JpJQZqfUTrXcvh6tb4mHXkmwFoKhLw4Rc5Op7f+8w=="
},
"runtime.win10-arm.Microsoft.Net.Native.Compiler": {
"type": "Transitive",
"resolved": "2.2.7-rel-27913-00",
Expand Down Expand Up @@ -161,10 +161,10 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"Microsoft.JavaScript.Hermes": "[0.1.14, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"Microsoft.Windows.SDK.BuildTools": "[10.0.22000.194, )",
"ReactCommon": "[1.0.0, )",
"ReactNative.Hermes.Windows": "[0.0.0-2302.1002-2d4bf1df, )",
"boost": "[1.76.0, )"
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
<package id="Microsoft.UI.Xaml" version="2.7.0-prerelease.210913003" targetFramework="native"/>
<package id="Microsoft.VCRTForwarders.140" version="1.0.2-rc" targetFramework="native"/>
<package id="Microsoft.Windows.CppWinRT" version="2.0.210312.4" targetFramework="native"/>
<package id="ReactNative.Hermes.Windows" version="0.0.0-2302.1002-2d4bf1df" targetFramework="native"/>
<package id="Microsoft.JavaScript.Hermes" version="0.1.15" targetFramework="native"/>
</packages>
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
<package id="Microsoft.UI.Xaml" version="2.7.0-prerelease.210913003" targetFramework="native"/>
<package id="Microsoft.VCRTForwarders.140" version="1.0.2-rc" targetFramework="native"/>
<package id="Microsoft.Windows.CppWinRT" version="2.0.210312.4" targetFramework="native"/>
<package id="ReactNative.Hermes.Windows" version="0.0.0-2302.1002-2d4bf1df" targetFramework="native"/>
<package id="Microsoft.JavaScript.Hermes" version="0.1.15" targetFramework="native"/>
</packages>
2 changes: 1 addition & 1 deletion packages/playground/windows/playground/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
<package id="Microsoft.Windows.CppWinRT" version="2.0.210312.4" targetFramework="native"/>
<package id="Microsoft.UI.Xaml" version="2.8.0" targetFramework="native"/>
<package id="Microsoft.WinUI" version="3.0.0-preview4.210210.4" targetFramework="native"/>
<package id="ReactNative.Hermes.Windows" version="0.0.0-2302.1002-2d4bf1df" targetFramework="native"/>
<package id="Microsoft.JavaScript.Hermes" version="0.1.15" targetFramework="native"/>
</packages>
16 changes: 8 additions & 8 deletions packages/sample-apps/windows/SampleAppCS/packages.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@
"resolved": "1.76.0",
"contentHash": "p+w3YvNdXL8Cu9Fzrmexssu0tZbWxuf6ywsQqHjDlKFE5ojXHof1HIyMC3zDLfLnh80dIeFcEUAuR2Asg/XHRA=="
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
"resolved": "0.1.13",
"contentHash": "dzqFCHeC0V4WYNFDWR4eFOVXXMpVUhrTPpuAR5QDyQL8MlvvVQIbBdqeh3GZYgsqwfzfMcgTC/OAGVYbutKE6w=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
"resolved": "2.2.7-rel-27913-00",
Expand All @@ -52,7 +57,7 @@
"Microsoft.NETCore.Platforms": {
"type": "Transitive",
"resolved": "2.1.0",
"contentHash": "GmkKfoyerqmsHMn7OZj0AKpcBabD+GaafqphvX2Mw406IwiJRy1pKcKqdCfKJfYmkRyJ6+e+RaUylgdJoDa1jQ=="
"contentHash": "ok+RPAtESz/9MUXeIEz6Lv5XAGQsaNmEYXMsgVALj4D7kqC8gveKWXWXbufLySR2fWrwZf8smyN5RmHu0e4BHA=="
},
"Microsoft.Web.WebView2": {
"type": "Transitive",
Expand All @@ -67,16 +72,11 @@
"NETStandard.Library": {
"type": "Transitive",
"resolved": "2.0.3",
"contentHash": "548M6mnBSJWxsIlkQHfbzoYxpiYFXZZSL00p4GHYv8PkiqFBnnT68mW5mGEsA/ch9fDO9GkPgkFQpWiXZN7mAQ==",
"contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0"
}
},
"ReactNative.Hermes.Windows": {
"type": "Transitive",
"resolved": "0.0.0-2302.1002-2d4bf1df",
"contentHash": "4skpllUPEBkww7FN7iacP7NWrZlEGDNg83qIuFjKn4Sl8JpJQZqfUTrXcvh6tb4mHXkmwFoKhLw4Rc5Op7f+8w=="
},
"runtime.win10-arm.Microsoft.Net.Native.Compiler": {
"type": "Transitive",
"resolved": "2.2.7-rel-27913-00",
Expand Down Expand Up @@ -162,10 +162,10 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"Microsoft.JavaScript.Hermes": "[0.1.13, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"Microsoft.Windows.SDK.BuildTools": "[10.0.22000.194, )",
"ReactCommon": "[1.0.0, )",
"ReactNative.Hermes.Windows": "[0.0.0-2302.1002-2d4bf1df, )",
"boost": "[1.76.0, )"
}
},
Expand Down
16 changes: 8 additions & 8 deletions packages/sample-apps/windows/SampleLibraryCS/packages.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@
"resolved": "1.76.0",
"contentHash": "p+w3YvNdXL8Cu9Fzrmexssu0tZbWxuf6ywsQqHjDlKFE5ojXHof1HIyMC3zDLfLnh80dIeFcEUAuR2Asg/XHRA=="
},
"Microsoft.JavaScript.Hermes": {
"type": "Transitive",
"resolved": "0.1.13",
"contentHash": "dzqFCHeC0V4WYNFDWR4eFOVXXMpVUhrTPpuAR5QDyQL8MlvvVQIbBdqeh3GZYgsqwfzfMcgTC/OAGVYbutKE6w=="
},
"Microsoft.Net.Native.Compiler": {
"type": "Transitive",
"resolved": "2.2.7-rel-27913-00",
Expand All @@ -43,7 +48,7 @@
"Microsoft.NETCore.Platforms": {
"type": "Transitive",
"resolved": "2.1.0",
"contentHash": "GmkKfoyerqmsHMn7OZj0AKpcBabD+GaafqphvX2Mw406IwiJRy1pKcKqdCfKJfYmkRyJ6+e+RaUylgdJoDa1jQ=="
"contentHash": "ok+RPAtESz/9MUXeIEz6Lv5XAGQsaNmEYXMsgVALj4D7kqC8gveKWXWXbufLySR2fWrwZf8smyN5RmHu0e4BHA=="
},
"Microsoft.UI.Xaml": {
"type": "Transitive",
Expand All @@ -66,16 +71,11 @@
"NETStandard.Library": {
"type": "Transitive",
"resolved": "2.0.3",
"contentHash": "548M6mnBSJWxsIlkQHfbzoYxpiYFXZZSL00p4GHYv8PkiqFBnnT68mW5mGEsA/ch9fDO9GkPgkFQpWiXZN7mAQ==",
"contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0"
}
},
"ReactNative.Hermes.Windows": {
"type": "Transitive",
"resolved": "0.0.0-2302.1002-2d4bf1df",
"contentHash": "4skpllUPEBkww7FN7iacP7NWrZlEGDNg83qIuFjKn4Sl8JpJQZqfUTrXcvh6tb4mHXkmwFoKhLw4Rc5Op7f+8w=="
},
"runtime.win10-arm.Microsoft.Net.Native.Compiler": {
"type": "Transitive",
"resolved": "2.2.7-rel-27913-00",
Expand Down Expand Up @@ -161,10 +161,10 @@
"dependencies": {
"Common": "[1.0.0, )",
"Folly": "[1.0.0, )",
"Microsoft.JavaScript.Hermes": "[0.1.13, )",
"Microsoft.UI.Xaml": "[2.8.0, )",
"Microsoft.Windows.SDK.BuildTools": "[10.0.22000.194, )",
"ReactCommon": "[1.0.0, )",
"ReactNative.Hermes.Windows": "[0.0.0-2302.1002-2d4bf1df, )",
"boost": "[1.76.0, )"
}
},
Expand Down
2 changes: 1 addition & 1 deletion vnext/Desktop.DLL/React.Windows.Desktop.DLL.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="boost" Version="1.76.0.0" />
<PackageReference Include="ReactNative.Hermes.Windows" Version="$(HermesVersion)" />
<PackageReference Include="Microsoft.JavaScript.Hermes" Version="$(HermesVersion)" />
<PackageReference Include="ReactWindows.OpenSSL.StdCall.Static" Version="1.0.2-p.5" />
<PackageReference Include="$(V8PackageName)" Version="$(V8Version)" Condition="'$(UseV8)' == 'true'" />
</ItemGroup>
Expand Down
5 changes: 1 addition & 4 deletions vnext/Desktop/React.Windows.Desktop.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -248,9 +248,6 @@
<DependentUpon>..\Microsoft.ReactNative\IReactPropertyBag.idl</DependentUpon>
<SubType>Code</SubType>
</ClInclude>
<ClInclude Include="..\Microsoft.ReactNative\JsiApi.h">
<DependentUpon>..\Microsoft.ReactNative\JsiApi.idl</DependentUpon>
</ClInclude>
<ClInclude Include="..\Microsoft.ReactNative\RedBoxErrorFrameInfo.h" />
<ClInclude Include="..\Microsoft.ReactNative\RedBoxErrorInfo.h" />
<ClInclude Include="JSBigStringResourceDll.h" />
Expand All @@ -275,7 +272,7 @@
<ItemGroup>
<PackageReference Include="boost" Version="1.76.0.0" />
<PackageReference Include="Microsoft.Windows.CppWinRT" Version="$(CppWinRTVersion)" PrivateAssets="all" />
<PackageReference Include="ReactNative.Hermes.Windows" Version="$(HermesVersion)" />
<PackageReference Include="Microsoft.JavaScript.Hermes" Version="$(HermesVersion)" />
<PackageReference Include="ReactWindows.OpenSSL.StdCall.Static" Version="1.0.2-p.5" />
<PackageReference Include="$(V8PackageName)" Version="$(V8Version)" Condition="'$(UseV8)' == 'true'" />
</ItemGroup>
Expand Down

0 comments on commit 258dc53

Please sign in to comment.