shinyreact 0.1.0
CRAN release: 2026-09-23
Initial CRAN release. shinyreact is the server-side plumbing for the
ui.tsxpattern: the UI is a React client you own, and the Shiny server contains only reactive computation. It ships no UI components.Dependencies of traditional Shiny outputs hosted inside a React tree are discovered automatically and pushed to the client after each flush, so the
ShinyOutputcomponent works with zero configuration.Bookmark restore values reach the client through the
#shinyreact-configscript tag, and the client asserts the wire-protocol major version at boot.page_react()serveswww/ui.js(andwww/ui.css, if present) as the whole page, with no HTML file required.page_react_html()serves a completeindex.htmlthat you own,page_bare()builds a page with no Bootstrap, andpage_react_dep()wraps an app’s own bundle as anhtmlDependency()versioned by its mtime.reactive_output()publishes any JSON-serializable value to the client’suseShinyOutputValue()hook, with no UI placeholder.send_message()sends a custom message to the client’suseShinyMessageHandler()hook, namespaced to the current module.shinyreact.defaultandshinyreact.asisinput handlers give R and Python the same view of the JSON auseShinyInput()hook sends: records stay lists,[]stayslist(), and nested arrays keep their shape.wire_tap()reads the websocket payloads a shinytest2AppDriverrecorded, so tests can assert the exact inputs, outputs, and messages that crossed the wire.