Config plugin to auto configure @nozbe/watermelondb
Tested against Expo SDK 49 and 50
yarn add @morrowdigital/watermelondb-expo-plugin
Please 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": [
[
"@morrowdigital/watermelondb-expo-plugin"
],
[
"expo-build-properties",
{
"android": {
"kotlinVersion": "1.6.10",
"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 during build you may add the option in config plugin:
[
"@morrowdigital/watermelondb-expo-plugin",
{ "disableJSI": true }
]
There have been errors building with M1 architectures for simulators on iOS, with Error:
No such module 'ExpoModulesCore'
See these discussions:
This plugin will NOT add the arm64
in Exlcuded_Archs
, in SDK 50 builds:
'"EXCLUDED_ARCHS[sdk=iphonesimulator*]"'] = '"arm64"'
If you wish to add the above in configuration, you can add it with option:
[
"@morrowdigital/watermelondb-expo-plugin",
{ "excludeSimArch": true }
]