0.0.0-dev-20240126152547 • Published 2 years ago

@journeyapps/powersync-sdk-react-native v0.0.0-dev-20240126152547

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

PowerSync SDK for React Native

PowerSync is a service and set of SDKs that keeps Postgres databases in sync with on-device SQLite databases. See a summary of features here.

Installation

Install Package

npx expo install @journeyapps/powersync-sdk-react-native

Install Peer Dependency: SQLite

This SDK currently requires @journeyapps/react-native-quick-sqlite as a peer dependency.

Install it in your app with:

npx expo install @journeyapps/react-native-quick-sqlite

Install Polyfills

Fetch

This SDK requires HTTP streaming in order to function. The following fetch polyfills are required for the React Native implementation of fetch:

  • react-native-fetch-api
  • react-native-polyfill-globals
  • react-native-url-polyfill
  • text-encoding
  • web-streams-polyfill

    These are listed as peer dependencies and need to be added to the React Native project

    npx expo install react-native-fetch-api react-native-polyfill-globals react-native-url-polyfill text-encoding web-streams-polyfill base-64 react-native-get-random-values

    Enable the polyfills in React Native app with

    // App.js
    import 'react-native-polyfill-globals/auto';

Babel Plugins: Watched Queries

Watched queries require support for Async Iterators. Expo apps currently require polyfill and Babel plugins in order to use this functionality.

npx expo install @azure/core-asynciterator-polyfill

Make sure to import the polyfill early in your application

// App.js
import '@azure/core-asynciterator-polyfill';

Install the async generator Babel plugin

yarn add -D @babel/plugin-transform-async-generator-functions

Add the Babel plugin to your babel.config.js file

module.exports = function (api) {
 return {
   presets: [...],
   plugins: [
     // ... Other plugins
     '@babel/plugin-transform-async-generator-functions'
   ]
 };
};

Native Projects

This package uses native libraries. Create native Android and iOS projects (if not created already) with

npx expo run:android
# OR
npx expo run:ios

Learn More

Refer to our full documentation to learn more.

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago

0.0.1-alpha.2

3 years ago

0.0.1-alpha.1

3 years ago

0.0.1-alpha.0

3 years ago

0.0.0

3 years ago