build: add mobile-dev profile, fix metro watcher and NDK config#3012
Merged
jamiepine merged 1 commit intoFeb 6, 2026
Merged
Conversation
Add a mobile-dev Cargo profile for faster mobile development builds (parallel codegen, no LTO, opt-level 2) — available opt-in via `cargo build --profile mobile-dev`. Production builds use --release. Fix NDK host_tag to always use darwin-x86_64 on macOS since Google ships universal binaries under that path. Make aws-lc-sys cache cleaning opt-in via CLEAN_AWS_LC=1 to enable incremental iOS builds. Scope Metro file watcher to src/ and packages/ instead of the entire monorepo (avoids watching 4.5GB+ Rust target/ dirs) and fix React resolution to use workspace root where bun hoists packages. Apply tembo review feedback from spacedriveapp#3011: fix SVG type declarations to avoid DOM dependency, add sound asset type flexibility, and add public subpath exports to ts-client. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9bffd12 to
5c4b000
Compare
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.
Improves mobile build times and fixes configuration issues in xtask and Metro. Extracted from #2988 to keep the Android PR focused on platform-specific changes.
These are all general mobile DX improvements — the mobile-dev profile and Metro fixes benefit both iOS and Android development, and the NDK host_tag fix corrects a silent bug on Apple Silicon Macs.
What this improves
mobile-devprofileChanges
[profile.mobile-dev]Cargo profile — parallel codegen, no LTO, opt-level 2. Opt-in viacargo build --profile mobile-dev; production builds still use--releasehost_tagin xtask to always usedarwin-x86_64on macOS — Google ships universal binaries under that path for backwards compatibilityaws-lc-syscache cleaning opt-in viaCLEAN_AWS_LC=1in the iOS build scriptwatchFolderstosrc/andpackages/instead of the entire monorepo rootrequire.resolveto dynamically find packages instead of hardcoding workspace root paths (tembo review feedback)Verification
cargo check— passescargo build— full build completes cleanbun install— no errorsrequire.resolve("react/package.json")andrequire.resolve("react-native/package.json")both resolve correctly to workspace rootnode_modules/watchFolders,extraNodeModules, andblockListpathsmainare unchanged (Radix UI type compat, missing@sd/interface/platformexport)