/react-native-matrix-sdk

⚡️ FFI bindings for matrix-rust-sdk in a React Native Turbo Module ⚡️

Primary LanguageC++Apache License 2.0Apache-2.0

react-native-matrix-sdk

⚡️ FFI bindings for matrix-rust-sdk in a React Native Turbo Module ⚡️

lint library android ios android NPM install

Powered by uniffi-bindgen-react-native and create-react-native-library.

Installation

Installation into your own project

This package is available in the npm registry.

npm i @unomed/react-native-matrix-sdk
yarn add @unomed/react-native-matrix-sdk

Installation from local checkout

Clone the repository into a sibling folder of your app and then install the package using a relative path.

npm add ../react-native-matrix-sdk

You might have to run yarn prepare in case it's not executed by default. Additionally you need to change metro.config.js to find and watch the module's source code.

const config = {
  resolver: {
    extraNodeModules: {
      'react-native-matrix-sdk': path.resolve(__dirname, '../react-native-matrix-sdk'),
    }, ...
  },
  watchFolders: [
    path.resolve(__dirname, '../react-native-matrix-sdk'), ...
  ]
};

On the first build or any time you update the version of matrix-rust-sdk, you'll have to rebuild the Rust code and regenerate the module with

yarn generate

Usage

See src/index.ts for the module's full API. You may also find a usage example in example/src/App.tsx.

Contributing

See the contributing guide to learn about the development and contribution workflow.

License

Apache-2.0