Skip to content

edge-intelligence-sdk React Native package is not Expo/autolink-ready #13

Description

@Tovli

Summary

I integrated edge-intelligence-sdk@0.3.11 into an Expo SDK 56 / React Native 0.85 app and found that the published React Native package cannot be linked into a native build without undocumented manual work.

What I observed

  • The generated React Native bindings import @ubjs/core, but edge-intelligence-sdk does not declare it as a dependency or peer dependency. Consumers must install it manually for TypeScript/Metro resolution.
  • The package contains android/jniLibs/arm64-v8a/libel_ffi.so and ios/libel_ffi.a, but no React Native package metadata, Android Gradle module, CocoaPods podspec, Expo config plugin, or linking instructions.
  • The bindings access globalThis.NativeElFfi; in a native Expo development build it is not registered, so EdgeLlm.local(...) cannot construct a usable session.

Reproduction

  1. Create an Expo SDK 56 app, or use an existing Expo/React Native app.

  2. Run:

    npm install edge-intelligence-sdk@0.3.11
  3. Import and call:

    import { EdgeLlm } from "edge-intelligence-sdk";
    
    const sdk = EdgeLlm.local("/path/to/model.gguf");
  4. Build/run with:

    npx expo run:ios
    # or
    npx expo run:android

Expected

The package should install its required JavaScript runtime dependencies, and the documented native setup should make NativeElFfi available in a React Native/Expo development build.

Suggested improvements

  • Declare the required @ubjs/core dependency with a compatible version range.
  • Publish standard React Native autolinking metadata plus Android/iOS module build files, or provide an Expo config plugin that registers the native JSI module and links the included libraries.
  • Document supported Expo/React Native versions, native build steps, model-file placement, and a minimal working Expo example.
  • Consider a clear runtime error for missing native linking instead of failing through an undefined NativeElFfi global.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions