npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@expo-harmony/expo-dev-menu-interface

v55.0.2-harmony.3

Published

HarmonyOS port of expo-dev-menu-interface

Readme

@expo-harmony/expo-dev-menu-interface

GitHub 仓库

为 HarmonyOS 原生模块提供 Expo Dev Menu 的管理、桥接、宿主代理和键盘响应接口。与官方同版本的 expo-dev-menu-interface 配套使用。

安装

npm install @expo-harmony/expo-dev-menu-interface [email protected]

本包适配 Expo SDK 55 的 expo-dev-menu-interface,只包含鸿蒙端的 ArkTS 接口定义,JavaScript 侧继续使用官方包。原生 HAR 通过 Expo Harmony 自动链接。纯 ArkTS 模块也可以直接在 OHPM 清单中依赖 @expo-harmony/expo-dev-menu-interface。最低支持 HarmonyOS 5.0.1(API 13),宿主的 compatibleSdkVersion 也要满足这一要求。

API 对照表

Interfaces

DevMenuManagerProtocol

定义菜单的可见状态和开关操作,成员有 isVisible、openMenu(screen?)、closeMenu()、hideMenu() 和 toggleMenu()。方法同步返回是否接受这次状态变更,界面随后异步完成。screen 省略或传入 null 时打开默认页面。

官方接口里 closeMenu() 用来发起收起,hideMenu() 用来完成隐藏。鸿蒙端的菜单由 ArkUI 原生对话框承载,两个方法走同一个异步关闭流程。

DevMenuBridgeProtocol

三个成员都是可选的。module(name) 按名称查找原生模块,不存在时返回 null,modulesConforming(conforms) 返回通过检查函数的全部模块,requestReload() 请求重载。

未实现的内容

  • 桥协议的提供方。RNOH 的公开接口拿不到完整的原生模块列表,返回部分结果会误导调用方。

DevMenuHostDelegate

宿主通过可选成员介入菜单行为。devMenuNavigateHome() 返回宿主首页,devMenuTogglePerformanceMonitor() 和 devMenuToggleElementInspector() 接管对应工具,devMenuShouldShowReactNativeDevMenu() 控制是否显示 React Native 菜单入口,省略时默认 true。菜单检查到对应成员时使用宿主实现,否则执行默认行为。代理随 React Native 实例注册和解绑。

DevMenuUIResponderExtensionProtocol

EXDevMenu_handleKeyCommand(key) 接收 ArkUI 键盘事件,宿主可以在根视图的 onKeyEvent 中转交。本接口不安装全局键盘监听。

菜单的具体行为见 @expo-harmony/expo-dev-menu 的 README。

Author

expo-harmony © Baoshuo, Released under the MIT License. Authored and maintained by Baoshuo with help from contributors.

Personal Website · Blog · GitHub @renbaoshuo · Twitter @renbaoshuo