Skip to content

Conversation

vmoroz
Copy link
Member

@vmoroz vmoroz commented Oct 16, 2025

Description

Type of Change

  • New feature (non-breaking change which adds functionality)

Why

We should switch to new version of hermes-windows and node-api-jsi to unblock our progress with adoption of new Hermes debugger. This version of Hermes contains all latest changes to Node-API code that we did to prepare PR to upstream the Node-API implementation to facebook/hermes repo (facebook/hermes#1377).

What

  • The Hermes version is updated in the vnext/PropertySheets/JSEngine.props file to 0.0.0-2510.15001-6f45e5b5.
  • Ran vnext\Scripts\NuGetRestoreForceEvaluateAllSolutions.ps1 script to update all packages.lock.json files.
  • Since the latest version of hermes-windows uses two new Node-API files node_api.h and node_api_types.h we have to intgrate the node-api-jsi PR that updates Node-API files: Update Node-API files node-api-jsi#15.
  • The related node-api-jsi commit hash is updated to 78317af4798297dad5a17b2a07f5dfc712040b7a in vnext/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems and vnext/Directory.Build.props files.
  • The new Node-API files node_api.h and node_api_types.h are added to vnext/Scripts/Tfs/Layout-MSRN-Headers.ps1 and vnext/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems files.

Testing

The playground-composition app seems to be running OK.

Changelog

Should this change be included in the release notes: yes

Use Hermes version 0.0.0-2510.15001-6f45e5b5

Microsoft Reviewers: Open in CodeFlow

@vmoroz vmoroz requested review from a team as code owners October 16, 2025 01:58
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need to remove this file .

<ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\platform\react\renderer\textlayoutmanager\WindowsTextLayoutManager.cpp" />
<ClCompile Include="$(ReactNativeDir)\ReactCommon\jsinspector-modern\network\NetworkReporter.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\Composition\TextInput\WindowsTextInputState.cpp" />
<ClCompile Include="$(ReactNativeDir)\ReactCommon\runtimeexecutor\platform\cxx\ReactCommon\RuntimeExecutorSyncUIThreadUtils.cpp" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a question: why we need to add this file ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is in a .filter file. It is used by Visual Studio to show files in the solution explorer. The entries in this file may be added or removed automatically when the main project file has it, but the author forgot to commit the corresponding changes to the .filter file. This file does not affect the compilation, but since the original author did not commit it at the right time, now everyone who opens the solution file will see this change happening. It is better to commit it at last to free other people seeing this change again and again.
I cannot immediately answer why this entry is needed in the Shared.vcxitems project. I guess, it can be found from history of that project. Hopefully the PR author left a good comment there.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makes sense

Copy link
Contributor

@iamAbhi-916 iamAbhi-916 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to remove one lock file, else LTGM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants