expo-sqlite
Provides access to a database using SQLite (https://www.sqlite.org/). The database is persisted across restarts of your app.
About
Provides access to a database using SQLite (https://www.sqlite.org/). The database is persisted across restarts of your app.
Live mirror of the GitHub README. Updated whenever the repo's default branch changes.
Provides access to a database using SQLite (https://www.sqlite.org/). The database is persisted across restarts of your app.
API documentation
Installation in managed Expo projects
For managed Expo projects, please follow the installation instructions in the API documentation for the latest stable release.
Installation in bare React Native projects
For bare React Native projects, you must ensure that you have installed and configured the expo package before continuing.
Add the package to your npm dependencies
npx expo install expo-sqlite
Configure for Android
No additional set up necessary.
Configure for iOS
Run npx pod-install after installing the npm package.
Contributing
Contributions are very welcome! Please refer to guidelines described in the contributing guide.
Updating bundled SQLite3
To update bundled SQLite3 and SQLCipher source code under vendor/, you can use the helper scripts:
# You should clone expo/expo git repository first
$ cd packages/expo-sqlite
# Download and build sqlite3.[ch]
# For example, to use sqlite 3.45.3 and sqlcipher 4.6.0
$ ./scripts/prepare_sqlite.ts vendor/sqlite3 3.45.3
$ ./scripts/prepare_sqlite.ts vendor/sqlcipher 4.6.0 --sqlcipher
# Replace sqlite3 symbols to prevent conflict with iOS system sqlite3
$ ./scripts/replace_symbols.ts vendor/sqlite3
$ ./scripts/replace_symbols.ts vendor/sqlcipher
Quick facts
npm install expo-sqliteCommon pairings
Packages this one expects to find in the same project. Each is also a Sourcemap Explorer detection target.
How Sourcemap Explorer detects expo-sqlite
We catch expo-sqlite from two complementary signals: bundled source paths and the embedded package.json. Modern bundlers (webpack, Vite, esbuild, Rollup, Turbopack) preserve the original node_modules/expo-sqlite/ paths inside the JavaScript sourcemap's sources[] array — that's the canonical signal. When the matching package.json is also captured in sourcesContent[], we read the exact version field — patch number included. No regex guessing, no version inference.
- 1
Confirm the site exposes sourcemaps
In DevTools Network, check the response headers of any application script for `SourceMap` or `X-SourceMap`. Failing that, fetch the script's last 4 KB and look for a `//# sourceMappingURL=` comment.
- 2
Find the package in the bundle
Open DevTools → Network → reload. Click any application script and look at its sourcemap. Inside, search `sources[]` for entries matching `node_modules/expo-sqlite/` — every match confirms the package is bundled. The matching `sourcesContent[i]` for `node_modules/expo-sqlite/package.json` gives you the exact installed version.
- 3
Read the version directly from package.json
Run `jq -r '. as $m | $m.sources | to_entries[] | select(.value | endswith("node_modules/expo-sqlite/package.json")) | $m.sourcesContent[.key] | fromjson | .version' bundle.js.map`. Sourcemap Explorer automates the same query in the popup.
Recent versions
FAQ
What is expo-sqlite used for?
Provides access to a database using SQLite (https://www.sqlite.org/). The database is persisted across restarts of your app.
How can I tell if a website is using expo-sqlite?
Open the page in Chrome with the Sourcemap Explorer extension installed and read the Stack tab. We catch `expo-sqlite` from two complementary signals: `node_modules/expo-sqlite/` paths inside the JavaScript sourcemap, and the embedded `package.json` we read for exact-version detection. Without the extension you can do the same lookup manually in DevTools — the steps are listed in the "How Sourcemap Explorer detects" section above.
What is the latest version of expo-sqlite?
55.0.16, as published on the npm registry. The "Recent versions" table on this page lists the most recent 8 releases with their release dates. Sourcemap Explorer reports the version actually bundled into a site, which can lag the latest release by months on real-world deployments.
Where can I read more?
Project homepage: https://docs.expo.dev/versions/latest/sdk/sqlite/. Source code: https://github.com/expo/expo. Published on npm: https://www.npmjs.com/package/expo-sqlite. Licensed as MIT.
Detected by Sourcemap Explorer
When a bundle ships sourcemaps, we read the embedded package.json for expo-sqlite and report the precise version. Without sourcemaps, an import / require in the page's scripts is enough to flag it.