Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable NAPI-JSI build on top of V8JSI #832

Merged
merged 9 commits into from
Jul 23, 2021
Merged

Enable NAPI-JSI build on top of V8JSI #832

merged 9 commits into from
Jul 23, 2021

Conversation

rgerd
Copy link
Member

@rgerd rgerd commented Jul 19, 2021

Adding support for building on JSI will let us test our changes before pushing them to BabylonReactNative. A follow-up PR will enable CI validation testing for the JSI build.

  • Added a JSI target for Win32 + UWP by pulling in the V8JSI NuGet package.
  • Cleaned up some CMake logic for pulling in NuGet packages and including NAPI artifacts.
  • Fixed a couple inconsistencies between napi-direct and napi-jsi at the contract layer which were blocking compilation, for example Console was using a version of Napi::Function::Call only available on napi-direct.
  • Added Chrome DevTools support on UWP (including on HoloLens!)

Thanks to @bghgary for helping me whip up the POC minutes before his vacation.
fixes #828

Copy link
Contributor

@bghgary bghgary left a comment

Choose a reason for hiding this comment

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

Main issue is the change to N-API contract.

Apps/Playground/Win32/App.cpp Outdated Show resolved Hide resolved
Core/AppRuntime/Source/AppRuntimeJSI.cpp Outdated Show resolved Hide resolved
Core/AppRuntime/Source/AppRuntimeJSI.cpp Outdated Show resolved Hide resolved
Dependencies/napi/OnLinkedAsDependency.cmake Outdated Show resolved Hide resolved
Dependencies/CMakeExtensions/CMakeLists.txt Outdated Show resolved Hide resolved
Dependencies/napi/napi-jsi/include/napi/napi-inl.h Outdated Show resolved Hide resolved
Dependencies/napi/napi-jsi/include/napi/napi.h Outdated Show resolved Hide resolved
Dependencies/napi/napi-jsi/source/jsi.cpp Outdated Show resolved Hide resolved
Plugins/ChromeDevTools/CMakeLists.txt Show resolved Hide resolved
Plugins/NativeCamera/Source/NativeCamera.cpp Outdated Show resolved Hide resolved
@rgerd rgerd enabled auto-merge (squash) July 23, 2021 22:47
@rgerd rgerd merged commit e15094d into BabylonJS:master Jul 23, 2021
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.

Add a NAPI-JSI build to pre-test Babylon React Native
2 participants