Repository navigation
Conversation
✅ Deploy Preview for obytes-starter ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Contributor
💯 Test Coverage
😎 Tests Results
👀 Tests Details • (31%)
|
Contributor
|
✅ Good news! We ran Expo Doctor for this PR and everything looks good, Great job! |
hamzamekk
marked this pull request as ready for review
October 8, 2026 18:02
- switch packageManager to bun@1.3.14 and convert pnpm-lock.yaml to bun.lock with identical resolved versions - replace .npmrc with bunfig.toml (hoisted linker) and pin Node 24 in .nvmrc - update scripts, husky hooks and lint-staged to use bun - fix post-merge hook that checked a non-existent pnpm-lock.yml - replace the CI setup action with setup-node-bun-install (setup-bun, bun cache, node from .nvmrc) and update all workflows - update project docs with bun commands
- convert docs and cli lockfiles to bun.lock - create-obytes-app now installs dependencies with bun, since the template's preinstall guard only allows bun - update all documentation commands from pnpm to bun
- upload/download-artifact v3 were shut down by GitHub: bump to v4 - bump cache, setup-java, stale and create-pull-request, and replace the deprecated gradle-build-action with gradle/actions/setup-gradle - e2e and EAS workflows targeted a removed "staging" environment and com.obytes.staging app id: use preview - stop disabling .env in the APK build step, which made strict env validation fail during prebuild
- remove unused deps: react-native-url-polyfill, expo-crypto, @tanstack/zod-form-adapter, dotenv, react-error-boundary, @types/i18n-js, @types/invariant - remove nativewind-env.d.ts left over from the Uniwind migration - remove babel @env alias pointing at a file that no longer exists - ignore the uniwind-generated types file in eslint
- upgrade expo and all expo-managed packages to SDK 57 and let expo manage react-native-worklets again - migrate @react-navigation imports to expo-router/react-navigation (SDK 56 split) - replace deprecated react-native-edge-to-edge with expo-status-bar; edge-to-edge is built in since SDK 55 - remove newArchEnabled (legacy architecture removed in SDK 55) - enable iOS scene support via expo-build-properties, required to build with the iOS 27 SDK (Xcode 27) - drop the manual reanimated babel plugin; babel-preset-expo adds the worklets plugin - offset flash messages by the safe-area inset so they no longer render under the status bar - regenerate bun.lock: the pnpm-migrated lock pinned peers to React 19.1 and nested a second React copy, crashing the app at runtime TypeScript 6 and tooling: - replace deprecated baseUrl with explicit paths and an @env alias - declare jest/node types and *.css modules - add react-test-renderer 19.2.3 for Testing Library - remove eslint-plugin-react-compiler (rules ship in react-hooks v7) and override zod-validation-error to v4 so react-hooks loads - scope custom eslint rules to JS/TS files and fix new lint findings
- add `bun run argent:setup`, which runs the official Argent installer (MCP server, skills and rules for the current workspace) - document setup, team-wide local mode and telemetry opt-out in a new docs recipe page - add Argent guidance to CLAUDE.md and the project README - gitignore Argent secrets, recordings, temp files and logs while keeping flows and project config committable Argent is opt-in: it downloads platform-specific native binaries that are licensed by Software Mansion and must not be vendored into the repo.
Uniwind rewrites this file whenever Metro runs. Keeping the generated format avoids a permanent diff. The file is excluded from eslint.
- bump react-native-nitro-modules to 0.37 (required by nitro-fetch) and react-native-mmkv to 4.3, which runs on nitro - bump i18next to 26 and react-i18next to 17; none of the removed options are used - bump tailwindcss to 4.3.3 to match the engine bundled in uniwind - bump lint-staged 17, commitlint 21, np 12 and jest-junit 17 - remove unused @tailwindcss/cli - replace react-native-restart and DevSettings.reload with expo's built-in reloadAppAsync, which works in debug and release builds
- enable experiments.reactCompiler and add babel-plugin-react-compiler - document in CLAUDE.md that manual memoization is not needed
- add react-native-nitro-fetch and route axios through it with the fetch adapter (native URLSession on iOS, Cronet on Android) - keep XHR in dev builds so network inspectors keep working, and the browser stack on web - mock nitro-fetch in jest and document the behavior in CLAUDE.md Verified in release builds on an iOS 27 simulator and an Android API 37 emulator: the feed loads over the native stack (Cronet loaded on Android).
- add Nitro Fetch to the data fetching guide and a React Compiler section to the rules page - note expo-router/react-navigation imports on the navigation page - require Node 24 in the setup guide - update features on the home page, overview and README - fix outdated content: tailwind.config.js and ui/theme paths on the theming page, React Hook Form and Prettier on the home page, wrong Uniwind repository links and a Maestro typo
The fallback step exported GH_TOKEN as an env variable, but checkout read secrets.GH_TOKEN, so the fallback was never used. Checkout now uses the GH_TOKEN secret when set and the default token otherwise. The docs explain why a personal access token is still recommended. Closes #449
- exclude react-native-nitro-fetch from the React Native Directory check; its metadata says untested on the New Architecture, but nitro modules only run on it (verified on iOS and Android) - add docs/netlify.toml so Netlify builds the docs with Bun now that the docs site uses bun.lock instead of pnpm-lock.yaml
- new website guide with step-by-step upgrade instructions from v9: Bun, Expo SDK 57, navigation imports, config, TypeScript 6, restart, optional features and troubleshooting - bump create-obytes-app to 2.0.0, since it now requires Bun
hamzamekk
force-pushed
the
chore/template-upgrade
branch
from
October 8, 2026 18:04
375966d to
954fdca
Compare
- new guide on native networking with Nitro Fetch: how the client uses it, testing release builds, direct use, prefetching before navigation and on app start (with the Android config plugin), Jest and removal - new React Compiler guide: setup, writing components without manual memoization, Rules of React, linting, DevTools check and opting out - shorten the data fetching and rules sections to link to the guides - mark the v10 pages as new in the sidebar and drop stale badges
0x1337ak
approved these changes
Oct 14, 2026
| description: 'APP_ENV (one of): development, preview, production' | ||
| required: true | ||
| default: staging | ||
| default: preview |
Collaborator
There was a problem hiding this comment.
why changing the staging to preview ?
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.
Summary
Upgrades the starter to v10: Bun replaces pnpm, Expo goes from SDK 54 to SDK 57 (React Native 0.86, React 19.2), and the template gains React Compiler, Nitro Fetch and an opt-in Argent setup for AI assistants. It also fixes broken CI workflows and outdated documentation.
Closes #536, closes #440, closes #449. Supersedes #540, which is included here.
Each step is a separate commit, so the PR can be reviewed commit by commit.
Breaking changes for existing projects
.nvmrc.expo-router/react-navigationinstead of@react-navigation/*, the legacy architecture is gone, and iOS builds need Xcode 26.4 or newer.react-native-edge-to-edge(built into Expo),react-native-restart(replaced by Expo'sreloadAppAsync) and several unused dependencies.baseUrlis replaced by explicitpathsand an@envalias.The new Migrating to v10 guide walks existing projects through every step.
What's new
useMemoanduseCallbackare rarely needed. Guidebun run argent:setuplets AI assistants build, drive and debug the app on simulators and emulators.Fixes
stagingenvironment and failed env validation. Retired GitHub Actions (artifact v3 and others) are bumped. The release workflow now falls back to the default token whenGH_TOKENis not set.tailwind.config.jsthat no longer exists, React Hook Form and Prettier claims, and wrong Uniwind links.Verification
CI and EAS cloud builds run on Bun for the first time with this PR, so please watch the first runs.
After merging
majorto releasev10.0.0. Setting theGH_TOKENsecret makes the tag trigger the GitHub release.create-obytes-app2.0.0 only afterv10.0.0exists. The CLI clones the latest release tag and now installs with Bun..env) are worth merging. If fix: stop tracking .env and ship .env.example instead #539 lands, the APK build step in CI needs.env.examplecopied to.env.