Skip to content

Packages and platforms

Rayact uses one private workspace root with independently packaged modules. All first-party packages in the 0.0.5 GitHub release set use exact lockstep versions.

Consumer and framework

PackageRole
rayactConsumer umbrella; React APIs plus built-in KV, crypto, workers, and CLI forwarding
@rayact/sharedShared protocol and utility types
@rayact/runtimeHost bridge, lifecycle, capabilities, reload state, and diagnostics
@rayact/rendererReconciler and native command protocol
@rayact/reactComponents, hooks, themes, accessibility, and rendering entry points

There is no public @rayact/core or @rayact/quickjs package.

Optional features

PackageRole
@rayact/navigationNavigation bindings
@rayact/workletsWorklet APIs
@rayact/mmkvOptional high-performance storage module
@rayact/secure-storeOptional Keychain/Keystore storage module
@rayact/crash-reporterLocal-first, consent-gated crash reporting
@rayact/barcode-scannerNative barcode/QR scanning
@rayact/clipboardClipboard reads, writes, and availability
@rayact/hapticsSelection, impact, and notification feedback
@rayact/image-pickerPlatform image-library picker
@rayact/linkingExternal URLs, initial URLs, and deep-link events
@rayact/sensorsMotion and device sensor streams
@rayact/svgRetained native SVG nodes
@rayact/webviewAndroid WebView, Apple WebKit, Web, and Windows CEF platform view
@rayact/routerFile-based routes, layouts, dynamic segments, and typed hrefs

Each native module owns rayact.module.json, native source, platform artifacts, declarations, tests, README, and changelog. @rayact/webview and the native TextInput path use real operating-system components; they are integrated into Rayact layout and composition rather than reimplemented in JavaScript. Installing only one optional module does not add the other modules' binaries or registrations.

Tooling and distribution

PackageRole
@rayact/clirayact command
@rayact/dev-serverBundler, HMR, discovery, debugger, and inspector transport
@rayact/prebuildManifest-based autolinking and native project generation
@rayact/dev-client / @rayact/devtoolsClient launcher and developer tools
create-rayact-appGitHub-release project scaffolder
@rayact/template-*Thin Android and iOS templates
@rayact/prebuilt-*Platform-specific engine artifacts
@rayact/dev-appPublishable official client that explicitly includes supported first-party modules

Platform matrix

TargetArtifactStatus
Android arm64engine .so packageTier 1
iOS device arm64; simulator arm64/x86_64engine XCFrameworkTier 1
macOS Apple Silicon (arm64)desktop host packageTier 1
Web wasm32WebGPU host packageTier 1
Linux x64desktop host packagePreview
Windows x64Vulkan desktop host package + portable dev appTier 1

Every prebuilt carries an engine/version/ABI manifest. The CLI rejects incompatible native ABI or platform selections before linking.