Packages
Imported Packages allow you to add third-party libraries to your app.
React Native & Expo
Imported libraries must be compatible with React Native and the Expo managed workflow
Cocoapods
Packages which require running
pod install
for iOS installation are not currently supported. Look for packages without this requirement
Linking
Packages which require linking are not currently supported. Look for packages which have auto-linking
Finding compatible packages
You can find several compatible libraries here. Make sure they also meet the above requirements.
If you want to import libraries from the npm registry, please follow Expo's tips for determining compatibility.
Adding a package
First, navigate to the Packages tab in the Custom Code modal.
Click the "+" icon to add a new package.
Then, enter your Package Name in the first input field and it's Version in the second input field.
In most cases, you will want the latest version of your package.
If you want a specific version, be sure to specify in the version input, with or without npm ~, ^, or >= syntax.
To remove a package, click the '-' button at the end of the row where the package is listed.
Expo SDK Packages
The following are common packages in the Expo SDK that are not yet part of the Draftbit platform. We've made these available by default for use in Custom Functions.
Examples for how to add these to your Draftbit app in custom code are here.
Package Name | Description |
---|---|
expo-asset | Package that provides an interface to access Expo's asset system. |
expo-av | Package that provides Audio.Sound objects and Video components for managing audio and video playback. |
expo-clipboard | Provides an interface for getting and setting Clipboard content on Android, and iOS. |
expo-constants | Provides system information that remains constant throughout the lifetime of an app's install. |
expo-camera | Provides a component to use the device's camera to take photos or record video. *Must require CAMERA permissions for the camera and AUDIO_RECORDING permissions to record video. |
expo-barcode-scanner | Provides a component to use the device's camera as a barcode scanner. *Must require CAMERA permissions |
expo-permissions | Package that handles asking the user for various device permissions. |
expo-image-picker | Package that provides access to the system's UI for selecting images and videos from the phone's library or taking a photo with the camera. *Must require CAMERA permissions for the camera and MEDIA_LIBRARY permissions to access and select from phone's library. |
expo-sensors | Provides various APIs for accessing device sensors to measure motion, orientation, pressure, magnetic fields, and step count. |
expo-sharing | Package that allows sharing files directly with other compatible applications. |
expo-sms | Package that provides access to the system's UI/app for sending SMS messages. |
Async Storage | Provides an asynchronous, unencrypted, persistent, key-value storage solution |
RN Alert | Launches an alert dialog with the specified title and message. |
RN Appearance | Package that exposes information about the user's appearance preferences, such as their preferred color scheme (light or dark). |
RN Dimensions | Package that updates width and height values when screen size changes. |
RN Keyboard | Package that provides methods to control keyboard events. |
RN Platform | Package that provides a module to detect the platform (iOS or Android) in which the app is running. Platform specific tasks are handled using it. |
RN Vibration | Package that contains the method to trigger a vibration with a fixed duration. The duration here is specified in milliseconds. |
Recommended Package Versions
Some packages have specific versions which should be used. Below you'll find a list of some of those packages and the recommended version to use.
Package | Version |
---|---|
@shopify/mime-types | 2.0.0 |
react-native-purchases | ^5.0.1 |
stream-chat-expo | ^5.1.0 |
victory-native | ^36.6.7 |
Package | Recommended for Expo 46 | Recommended Version for Expo 47 |
---|---|---|
@expo/vector-icons | ^13.0.0 | ^13.0.0 |
@react-native-async-storage/async-storage | ~1.17.3 | ~1.17.3 |
@react-native-community/datetimepicker | 6.2.0 | 6.3.5 |
react-native-masked-view/masked-view | 0.2.7 | 0.2.8 |
@react-native-community/netinfo | 9.3.0 | 9.3.5 |
@react-native-community/slider | 4.2.3 | 4.2.4 |
@react-native-community/viewpager | 5.0.11 | 5.0.11 |
@react-native-firebase/app | ~15.4.0 | |
@react-native-picker/picker | 2.4.2 | 2.4.8 |
@react-native-segmented-control/segmented-control | 2.4.0 | 2.4.0 |
@stripe/stripe-react-native | 0.13.1 | 0.19.0 |
expo-analytics-amplitude | ~11.3.0 | ~11.3.0 |
expo-app-auth | ~11.1.0 | ~11.1.0 |
expo-app-loader-provider | ~8.0.0 | ~8.0.0 |
expo-app-loading | ~2.1.0 | ~2.1.1 |
expo-apple-authentication | ~4.3.0 | ~5.0.1 |
expo-application | ~4.2.2 | ~5.0.1 |
expo-asset | ~8.6.3 | ~8.7.0 |
expo-auth-session | ~3.7.4 | ~3.8.0 |
expo-av | ~12.0.4 | ~13.0.3 |
expo-background-fetch | ~10.3.0 | ~11.0.1 |
expo-barcode-scanner | ~11.5.0 | ~12.1.0 |
expo-battery | ~6.3.0 | ~7.0.0 |
expo-blur | ~11.2.0 | ~12.0.1 |
expo-brightness | ~10.3.0 | ~11.0.1 |
expo-build-properties | ~0.3.0 | ~0.4.1 |
expo-calendar | ~10.3.0 | ~11.0.1 |
expo-camera | ~12.5.0 | ~13.1.0 |
expo-cellular | ~4.3.0 | ~5.0.1 |
expo-checkbox | ~2.2.0 | ~2.2.2 |
expo-clipboard | ~3.1.0 | ~4.0.1 |
expo-constants | ~13.2.4 | ~14.0.2 |
expo-contacts | ~10.3.0 | ~11.0.1 |
expo-crypto | ~11.0.0 | ~12.0.0 |
expo-dev-client | ~1.3.1 | ~2.0.1 |
expo-device | ~4.3.0 | ~5.0.0 |
expo-document-picker | ~10.3.0 | ~11.0.1 |
expo-error-recovery | ~3.2.0 | ~4.0.1 |
expo-face-detector | ~11.3.0 | ~12.0.0 |
expo-file-system | ~14.1.0 | ~15.1.1 |
expo-firebase-analytics | ~7.2.0 | ~8.0.0 |
expo-firebase-core | ~5.2.0 | ~6.0.0 |
expo-firebase-recaptcha | ~2.3.0 | ~2.3.1 |
expo-font | ~10.2.0 | ~11.0.1 |
expo-gl | ~11.4.0 | ~12.0.1 |
expo-gl-cpp | ~11.4.0 | |
expo-google-app-auth | ~8.3.0 | ~8.3.0 |
expo-haptics | ~11.3.0 | ~12.0.1 |
expo-image-loader | ~3.2.0 | ~4.0.0 |
expo-image-manipulator | ~10.4.0 | ~11.0.0 |
expo-image-picker | ~13.3.1 | ~14.0.2 |
expo-in-app-purchases | ~13.1.0 | ~14.0.0 |
expo-intent-launcher | ~10.3.0 | ~10.3.1 |
expo-keep-awake | ~10.2.0 | ~11.0.1 |
expo-linear-gradient | ~11.4.0 | ~12.0.1 |
expo-linking | ~3.2.4 | ~3.3.1 |
expo-local-authentication | ~12.3.0 | ~13.0.2 |
expo-localization | ~13.1.0 | ~14.0.0 |
expo-location | ~14.3.0 | ~15.0.1 |
expo-mail-composer | ~11.3.0 | ~12.0.0 |
expo-media-library | ~14.2.0 | ~15.0.0 |
expo-module-template | ~10.7.3 | ~10.8.3 |
expo-modules-core | ~0.11.10 | ~1.0.4 || ~1.1.1 |
expo-navigation-bar | ~1.3.0 | ~2.0.1 |
expo-network | ~4.3.0 | ~5.0.0 |
expo-notifications | ~0.16.1 | ~0.17.0 |
expo-permissions | ~13.2.0 | ~14.0.0 |
expo-print | ~11.3.0 | ~12.0.0 |
expo-random | ~12.3.0 | ~13.0.0 |
expo-screen-capture | ~4.3.0 | ~5.0.0 |
expo-screen-orientation | ~4.3.0 | ~5.0.1 |
expo-secure-store | ~11.3.0 | ~12.0.0 |
expo-sensors | ~11.4.0 | ~12.0.1 |
expo-sharing | ~10.3.0 | ~11.0.1 |
expo-sms | ~10.2.0 | ~11.0.0 |
expo-speech | ~10.3.0 | ~11.0.0 |
expo-splash-screen | ~0.16.2 | ~0.17.5 |
expo-sqlite | ~10.3.0 | ~11.0.0 |
expo-status-bar | ~1.4.0 | ~1.4.2 |
expo-store-review | ~5.3.0 | ~6.0.0 |
expo-system-ui | ~1.3.0 | ~2.0.1 |
expo-task-manager | ~10.3.0 | ~11.0.1 |
expo-tracking-transparency | ~2.3.1 | ~3.0.1 |
expo-updates | ~0.14.7 | ~0.15.6 |
expo-video-thumbnail | ~6.4.0 | ~7.0.0 |
expo-web-browser | ~11.0.0 | ~12.0.0 |
lottie-react-native | 5.1.3 | 5.1.4 |
react-native-branch | ^5.4.0 | ^5.4.0 |
react-native-gesture-handler | ~2.5.0 | ~2.8.0 |
react-native-get-random-values | ~1.8.0 | ~1.8.0 |
react-native-maps | 0.31.1 | 1.3.2 |
react-native-pager-view | 5.4.24 | 6.0.1 |
react-native-reanimated | ~2.9.1 | ~2.12.0 |
react-native-safe-area-context | 4.3.1 | 4.4.1 |
react-native-screens | ~3.15.0 | ~3.18.0 |
react-native-shared-element | 0.8.4 | 0.8.4 |
react-native-svg | 12.3.0 | 13.4.0 |
react-native-view-shot | 3.3.0 | 3.4.0 |
react-native-webview | 11.23.0 | 11.23.1 |
sentry-expo | ~5.0.0 | ~6.0.0 |
unimodules-app-loader | ~3.1.0 | ~4.0.0 |
unimodules-image-loader-interface | ~6.1.0 | ~6.1.0 |
@shopify/react-native-skia | 0.1.141 | 0.1.157 |
@shopify/flash-list | 1.1.0 | 1.3.1 |
@sentry/react-native | 4.2.2 | 4.9.0 |
@draftbit/core | 46.12.4 | 47.2.9 |
@draftbit/maps | 46.12.4 | 47.2.9 |
@draftbit/native | 46.12.4 | 47.2.9 |
@draftbit/types | 46.12.4 | 47.2.9 |
@draftbit/ui | 46.12.4 | 47.2.9 |
@draftbit/web-maps | 46.12.4 | 47.2.9 |
@segment/analytics-react-native | 2.7.1 | 2.10.0 |
@segment/sovran-react-native | 0.4.4 | 0.4.5 |
react | 18.0.0 | 18.1.0 |
react-dom | 18.0.0 | 18.1.0 |
react-native | 0.69.6 | 0.70.5 |
react-native-web | ~0.18.7 | ~0.18.9 |
Updated about 2 months ago