refactor: migrate native module from Expo Modules API to React Native Turbo Modules#149
Open
V3RON wants to merge 19 commits into
Open
refactor: migrate native module from Expo Modules API to React Native Turbo Modules#149V3RON wants to merge 19 commits into
V3RON wants to merge 19 commits into
Conversation
… Turbo Modules Closes #148
09e4936 to
2ef632e
Compare
Add root babel.config.js with @react-native/babel-preset for Voltra node tests on RN 0.83, wire babel-jest to the monorepo root, and restore server/payload re-exports used by tests. Fix example app.json android plugin JSON, remove an unused expo-plugin import, and apply Prettier. Co-authored-by: Cursor <cursoragent@cursor.com>
Clean was running after build:expo-plugin and deleted expo-plugin/build before publish/CI prebuild, causing config plugin resolution to fail. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why this matters
This branch finishes the move away from the old monolithic
voltrapackage and lands the package layout that matches how the library is actually structured now.Instead of shipping one mixed package with Expo Modules-era assumptions, Voltra is now split into explicit platform and responsibility-focused workspaces:
@use-voltra/ios-clientand@use-voltra/android-clientfor React Native client APIs and native bindings@use-voltra/iosand@use-voltra/androidfor platform JSX/runtime packages@use-voltra/ios-server,@use-voltra/android-server, and@use-voltra/serverfor server rendering flows@use-voltra/generatoras the private source of truth for generated component metadata@use-voltra/expo-pluginas shared plugin utilities used by the client packagesThe branch also removes the old
packages/voltraworkspace entirely, updates docs/examples to the new install/import paths, and adds regression coverage around renderer/server/generator behavior so the split is safer to maintain.Closes #148
What changed
Package and workspace restructuring
@use-voltra/ios-clientand@use-voltra/android-client@use-voltra/iosand@use-voltra/android@use-voltra/server,@use-voltra/ios-server,@use-voltra/android-server@use-voltra/generatorworkspacepackages/voltrapackage instead of keeping it as a compatibility layerNative and plugin integration cleanup
codegenConfigto iOS and Android client packages@use-voltra/expo-pluginShared rendering and server changes
Tests and CI
@use-voltra/corerenderer@use-voltra/iosrenderer@use-voltra/androidrenderer@use-voltra/server@use-voltra/ios-server@use-voltra/android-server@use-voltra/generatorturbo run testDocs and examples
@use-voltra/ios-client/@use-voltra/android-clientTest plan
npm run test:js)VoltraView, eventsVoltraView, events