expo-asset
An Expo universal module to download assets and pass them into other APIs
About
An Expo universal module to download assets and pass them into other APIs
Live mirror of the GitHub README. Updated whenever the repo's default branch changes.
Expo
Try Expo in the Browser | Read the Documentation 📚
Expo is an open-source platform for making universal native apps that run on Android, iOS, and the web. It includes a universal runtime and libraries that let you build native apps by writing React and JavaScript. This repository is where the Expo client software is developed, and includes the client apps, modules, apps, and more. The Expo CLI repository contains the Expo development tools.
Click here to view the Expo Community Guidelines. Thank you for helping keep the Expo community open and welcoming!
📚 Documentation
Learn about building and deploying universal apps in our official docs!
🗺 Project Layout
packagesAll the source code for the Unimodules, if you want to edit a library or just see how it works this is where you'll find it.appsThis is where you can find Expo projects which are linked to the development Unimodules. You'll do most of your testing in here.docsThe source code for https://docs.expo.devtemplatesThe template projects you get when you runexpo startreact-native-labThis is our fork ofreact-native. We keep this very close to the upstream but sometimes need to add quick fixes locally before they can land.guidesIn-depth tutorials for advanced topics like contributing to the client.androidcontains the Android project.homecontains the JavaScript source code of the app.ioscontains the iOS project.ios/Exponent.xcworkspaceis the Xcode workspace. Always open this instead ofExponent.xcodeprojbecause the workspace also loads the CocoaPods dependencies.toolscontains build and configuration tools.template-filescontains templates for files that require private keys. They are populated using the keys intemplate-files/keys.json.template-files/ios/dependencies.jsonspecifies the CocoaPods dependencies of the app.
🏅 Badges
Let everyone know your app can be run instantly in the Expo Go app!
[](https://expo.dev/client)
[](https://expo.dev/client)
👏 Contributing
If you like Expo and want to help make it better then check out our contributing guide! Check out the Expo CLI repo to work on the Expo CLI, and various other universal development tools.
❓ FAQ
If you have questions about Expo and want answers, then check out our Frequently Asked Questions!
If you still have questions you can ask them on our forums, Discord or on Twitter @Expo.
💙 The Team
Curious about who makes Expo? Here are our team members!
License
The Expo source code is made available under the MIT license. Some of the dependencies are licensed differently, with the BSD license, for example.
Quick facts
npm install expo-assetCommon pairings
Packages this one expects to find in the same project. Each is also a Sourcemap Explorer detection target.
How Sourcemap Explorer detects expo-asset
We catch expo-asset 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-asset/ 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-asset/` — every match confirms the package is bundled. The matching `sourcesContent[i]` for `node_modules/expo-asset/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-asset/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-asset used for?
An Expo universal module to download assets and pass them into other APIs
How can I tell if a website is using expo-asset?
Open the page in Chrome with the Sourcemap Explorer extension installed and read the Stack tab. We catch `expo-asset` from two complementary signals: `node_modules/expo-asset/` 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-asset?
55.0.17, 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/asset/. Source code: https://github.com/expo/expo. Published on npm: https://www.npmjs.com/package/expo-asset. Licensed as MIT.
Detected by Sourcemap Explorer
When a bundle ships sourcemaps, we read the embedded package.json for expo-asset and report the precise version. Without sourcemaps, an import / require in the page's scripts is enough to flag it.
