@ohos-ports/react-native-community-cli-server-api
v20.2.0-beta.0
Published
HarmonyOS (OpenHarmony) port of [`@react-native-community/[email protected]`](https://www.npmjs.com/package/@react-native-community/cli-server-api).
Keywords
Readme
@ohos-ports/react-native-community-cli-server-api
HarmonyOS (OpenHarmony) port of @react-native-community/[email protected].
Server APIs for React Native dev tools: creates the dev-server middleware used by
Metro (index page, POST /systrace profile saving, /open-stack-frame,
/open-url, /status, security headers, and the /message & /events
websocket endpoints).
Upstream source: https://github.com/react-native-community/cli/tree/main/packages/cli-server-api
HarmonyOS / OpenHarmony Adaptation
This port is republished under the @ohos-ports scope with one platform
adaptation on top of the upstream 20.2.0 release:
build/systraceProfileMiddleware.js— the systrace profile dump path was hardcoded to/tmp/dump_<timestamp>.json. On OpenHarmony the rootfs mounts/tmpread-only, so saving a profile through thePOST /systraceendpoint failed withEROFS: read-only file system, open '/tmp/dump_<ts>.json'. The dump path now usespath.join(os.tmpdir(), 'dump_<timestamp>.json'), the cross-platform standard idiom:- Linux / macOS:
os.tmpdir()resolves to/tmp— behavior is unchanged. - OpenHarmony:
os.tmpdir()resolves to a writable per-user directory (e.g./storage/Users/currentUser) — the profile dump is saved successfully.
- Linux / macOS:
Notes:
- No API changes; the package is pure JavaScript (no native modules, no compilation step).
- Dependencies are unchanged from upstream
20.2.0— all of them are HarmonyOS-compatible as-is. - Validated on HarmonyOS PC (OpenHarmony, Node.js v26.8.2): 25/25 functional
tests pass, plus clean-install smoke tests of the
POST /systraceprofile-save flow.
License
MIT — see LICENSE. Original code Copyright (c) Facebook, Inc. and its affiliates.
