Skip to content

Add React Native Hermes JS engine debugging support #1073

Description

Description

Facebook released Hermes JS engine and implemented it to React Native Android. This engine is compatible with Chrome DevTools Protocol so we need to investigate how to implement Hermes debugging in React Native Tools.

Important notice

Currently, Hermes doesn't fully support Chrome debugger protocol, so there are some gaps in its implementation. If something not working as expected will be noticed (like object inspector bugs) in the extension debugger then the same thing should be tested in the latest Chrome (Run app, attach to it in Chrome, check how Chrome debugger behave in the same debug scenario).
Here is the Hermes debugging issues list.

Implementation roadmap

  • Run Android scenario support
  • Attach to packager scenario support
  • Debug in Expo scenario support (Expo doesn't support Hermes yet, here's a roadmap for adding it)
  • Support debugging on Android devices
  • Support debugging on Android emulators
  • Command pallete commands support
    • React Native: Reload App
    • React Native: Show Dev Menu
    • React Native: Run Android on Device
    • React Native: Run Android on Emulator
    • React Native: Run Element Inspector
    • React Native: Start Packager
    • React Native: Restart Packager
    • React Native: Stop Packager
  • Support existing debug scenarios properties
    • cwd
    • target
    • env
    • envFile
    • trace
    • address
    • port
    • logCatArguments
    • runArguments
    • skipFiles
    • launchActivity
    • variant
    • sourceMaps
    • sourceMapPathOverrides
  • Support multi-root workspaces
  • Add tests

Activity

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions