Skip to content

Let the app provide expo-file-system in the React Native SDK #2098

Closed

Description

@ChiragAgg5k

Tracks PR #2097.

Plan

Goal: Make one build of the React Native SDK (react-native-appwrite) work on Expo SDK 52 through 58 by letting the app provide expo-file-system, fixing the Android launch crash on Expo 54+ (sdk-for-react-native#114) and failed uploads on Expo 55+ (sdk-for-react-native#112).

What changes (PR #2097):

  • templates/react-native/package.json.twig and package-lock.json.twig: expo-file-system moves from dependencies (18.*.*) to peerDependencies (>=18.0.0), with a 58.0.9 devDependency for types; the expo peer goes from * to >=52.0.0.
  • New templates/react-native/src/lib/file-system.ts.twig (registered in src/SDK/Language/ReactNative.php): requires expo-file-system/legacy and falls back to the root expo-file-system for 18.x.
  • templates/react-native/src/services/template.ts.twig: uploads use the loader, and Android chunk temp files are deleted after each request.
  • templates/react-native/tsconfig.json.twig: moduleResolution set to bundler so the /legacy types resolve.
  • templates/react-native/README.md.twig: install command includes expo-file-system; states Expo SDK 52+ support.
  • Tests: tests/generation/GenerationTest.php peer-dependency check, and the React Native e2e harness (tests/e2e/ReactNativeTest.php, tests/e2e/languages/react-native/shims/*) covering the 19+ and 18 layouts plus temp chunk cleanup.

Remaining steps:

  1. Get PR fix(react-native): let the app provide expo-file-system #2097 reviewed and merged.
  2. Release the React Native SDK as a minor (2.1.0, per the PR description).
  3. Follow up on sdk-for-react-native#112 and Added automated deployment to NPM #114 once the release is out.

Done when:

Activity

  1. self-assigned this
    on Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions