Config plugin to auto configure @nozbe/watermelondb for Expo SDK 52 / 53!.
Tested against Expo SDK 52+
npm install @lovesworking/watermelondb-expo-plugin-sdk-52-plus
# or using yarn
yarn add @lovesworking/watermelondb-expo-plugin-sdk-52-plusPlease make sure you also install expo-build-properties
After installing this npm package, add the config plugin to the plugins array of your app.json or app.config.js. Then rebuild your app using a custom development client, as described in the "Adding custom native code" guide.
You also need to add the packaging options pick-first for android.
In your app.json plugins array:
{
"plugins": [
["@lovesworking/watermelondb-expo-plugin-sdk-52-plus"],
[
"expo-build-properties",
{
"android": {
"packagingOptions": {
"pickFirst": ["**/libc++_shared.so"]
}
}
}
]
]
}This plugin installs automatically JSI support for Android builds, as per WatermelonDB for Android instructions. If you wish to disable JSI support you during build you may add the option in config plugin:
["@lovesworking/watermelondb-expo-plugin-sdk-52-plus", { "disableJsi": true }]There have been errors building with M1 architectures for simulators on iOS, with Error:
No such module 'ExpoModulesCore'
If you wish to add the excluded architectures configuration, you can add it with option:
[
"@lovesworking/watermelondb-expo-plugin-sdk-52-plus",
{ "excludeSimArch": true }
]This will add:
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64"
[
'expo-build-properties',
{
ios: {
extraPods: [
{
name: 'simdjson',
configurations: ['Debug', 'Release'],
path: '../node_modules/@nozbe/simdjson',
modular_headers: true,
},
],
},
android: {
packagingOptions: {
pickFirst: ['**/libc++_shared.so'],
},
},
},
],This is a fork of the original @morrowdigital/watermelondb-expo-plugin updated and maintained for Expo SDK 52 and above. Special thanks to @Duell10111 for creating the fix for sdk (52/53+)
See MAINTAINERS.md for information about making contributions and releasing new versions.
Take a shortcut from web developer to mobile development fluency with guided learning
Enjoyed this project? Learn to use React Native to build production-ready, native mobile apps for both iOS and Android based on your existing web development skills.