• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

RobotWebTools / rclnodejs / 25664009519 / 1
85%
develop: 85%

Build:
DEFAULT BRANCH: develop
Ran 11 May 2026 10:29AM UTC
Files 61
Run time 3s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 May 2026 10:13AM UTC coverage: 85.631% (-0.2%) from 85.864%
25664009519.1

push

github

web-flow
Rclnodejs web capability runtime over WebSocket (#1509)

Opt-in **Web Runtime** that lets browser code talk to ROS 2 via an explicit, allow-listed set of capabilities exposed by a host Node.js process. JSON over WebSocket; transport-agnostic dispatcher so HTTP/etc. can plug in later. Reachable only through the new `rclnodejs/web/server` subpath export — no existing behavior changes.

```js
const { createRuntime, WebSocketTransport } = require('rclnodejs/web/server');
const runtime = createRuntime({
  node, transports: [new WebSocketTransport({ port: 9000 })],
});
runtime.expose({ call: ['/add_two_ints'], publish: ['/chatter'], subscribe: ['/chatter'] });
await runtime.start();
```

## Files

| Area | Path |
|---|---|
| Registry / Dispatcher / Transport / WS / Façade / Types | `lib/runtime/{registry,dispatcher,transport,index}.js`, `lib/runtime/transports/ws.js`, `lib/runtime/index.d.ts` |
| Subpath exports (`./web/server`, `./rosocket`, `./lib/*`) | `package.json` |
| Shared `reviveBigInts` (null-proto, prototype-pollution safe) | `lib/message_serialization.js`, `rosocket/index.js` |
| Tests (+19 cases) | `test/test-runtime.js`, `test/test-serialization-modes.js` |

## CI workaround

`test/electron/run_test.js` skips the Electron smoke test on Node ≥ 26. Upstream `extract-zip@2.0.1` (unmaintained, used by `electron`'s postinstall) silently aborts on Node ≥ 26.1. Native addon coverage is already provided by the mocha suite that runs first; drop the gate when upstream is fixed.


Fix: #1510

1650 of 2098 branches covered (78.65%)

Branch coverage included in aggregate %.

3374 of 3769 relevant lines covered (89.52%)

434.54 hits per line

Source Files on job 25664009519.1
  • Tree
  • List 61
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 25664009519
  • f5a4eb65 on github
  • Prev Job for on develop (#25482305639.1)
  • Next Job for on develop (#25715286133.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc