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.