js-message works with bundlers and without a bundler.
Bundlers resolve the bare js-message import normally. Native browser ESM resolves it through a standard import map, with no build or transpilation step; the native-browser scenario proves the observable no-build round trip.
Boundary journeys
| ID | Observable scenario |
|---|---|
BEHAV-01 | Given a request crosses two JSON boundaries, its reply keeps the correlation ID. |
BEHAV-02 | Given an object-transport snapshot, later sender mutations do not alter the receiver. |
BEHAV-03 | Given a payload-free signal, the consumer routes and acknowledges it without fabricated data. |
Resilience and peer exchange
| ID | Observable scenario |
|---|---|
BEHAV-04 | Given malformed inbound text, its diagnostic stays readable across a second boundary. |
BEHAV-05 | Given a long-lived receiver, stale payloads and errors do not block later messages. |
BEHAV-06 | Given module and browser-global peers, they exchange a request and reply bidirectionally. |
BEHAV-07 | Given the bare package entry, when Node or a native browser import map loads it, then a no-build round trip succeeds. |
Outcomes, not API mechanics.
Functional checks isolate individual construction, loading, and recovery lifecycles. Behavioral scenarios compose those operations into consumer-visible workflows without introducing a second test framework.