Package detail

expo-asset

expo5.3mMIT11.0.5

An Expo universal module to download assets and pass them into other APIs

react-native, expo, asset

readme

expo sdk

Expo

Expo SDK version Chat or ask a question License: MIT Downloads

Try Expo in the Browser  •  Read the Documentation  •  Learn more on our blog  •  Request a feature

Follow us on

Expo on X   Expo on GitHub   Expo on Reddit   Expo on LinkedIn   Expo on LinkedIn

Introduction

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 includes the Expo SDK, Modules API, Go app, CLI, Router, documentation, and various other supporting tools. Expo Application Services (EAS) is a platform of hosted services that are deeply integrated with Expo open source tools. EAS helps you build, ship, and iterate on your app as an individual or a team.

Read the Expo Community Guidelines before interacting in the repository. Thank you for helping keep the Expo community open and welcoming!

Table of contents

📚 Documentation

Learn about building and deploying universal apps in our official docs!

🗺 Project Layout

  • packages All the source code for Expo modules, if you want to edit a library or just see how it works this is where you'll find it.
  • apps This is where you can find Expo projects which are linked to the development modules. You'll do most of your testing in here.
  • apps/expo-go This is where you can find the source code for Expo Go.
  • apps/expo-go/ios/Exponent.xcworkspace is the Xcode workspace. When developing iOS, always open this instead of Exponent.xcodeproj because the workspace also loads the CocoaPods dependencies.
  • docs The source code for https://docs.expo.dev
  • templates The template projects you get when you run npx create-expo-app
  • react-native-lab This is our fork of react-native used to build Expo Go.
  • guides In-depth tutorials for advanced topics like contributing to the client.
  • tools contain build and configuration tools.
  • template-files contains templates for files that require private keys. They are populated using the keys in template-files/keys.json.
  • template-files/ios/dependencies.json specifies the CocoaPods dependencies of the app.

🏅 Badges

Let everyone know your app can be run instantly in the Expo Go app!

runs with Expo Go

runs with Expo Go

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-000.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-4630EB.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](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 CLI package to work on the Expo CLI.

❓ 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 Discord and Forums or X @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.

Star the Expo repo on GitHub to support the project

changelog

Changelog

Unpublished

🛠 Breaking changes

🎉 New features

🐛 Bug fixes

💡 Others

11.0.5 — 2025-03-20

This version does not introduce any user-facing changes.

11.0.4 — 2025-02-19

This version does not introduce any user-facing changes.

11.0.3 — 2025-01-31

This version does not introduce any user-facing changes.

11.0.2 — 2025-01-10

This version does not introduce any user-facing changes.

11.0.1 — 2024-11-10

🐛 Bug fixes

11.0.0 — 2024-10-22

🛠 Breaking changes

🐛 Bug fixes

  • Add missing dependencies and follow proper dependency chains. (#30500 by @byCedric)

💡 Others

10.0.10 - 2024-06-20

🐛 Bug fixes

  • Fixed PlatformUtils.ts to have the correct export placeholders for react-native-web (#29791 by @Bram-dc)
  • Add missing react and react-native peer dependencies for isolated modules. (#30454 by @byCedric)

10.0.9 - 2024-06-13

💡 Others

  • Removed @react-native/assets-registry dependency. (#29541 by @kudo)

10.0.8 - 2024-06-06

This version does not introduce any user-facing changes.

10.0.7 - 2024-06-05

💡 Others

  • Pin @react-native subpackage versions to 0.74.83. (#29441 by @kudo)

10.0.6 — 2024-05-03

🐛 Bug fixes

  • Fixed downloadAsync() does not support Android resources from release builds. (#28604 by @kudo)

10.0.5 — 2024-05-02

This version does not introduce any user-facing changes.

10.0.4 — 2024-05-01

This version does not introduce any user-facing changes.

10.0.3 — 2024-04-24

🐛 Bug fixes

  • Fix TypeError: (0, _ExpoAsset.downloadAsync) is not a function when loading assets using Expo Web. (#28405 by @jamiees2)

💡 Others

10.0.2 — 2024-04-23

This version does not introduce any user-facing changes.

10.0.1 — 2024-04-22

This version does not introduce any user-facing changes.

10.0.0 — 2024-04-18

🎉 New features

🐛 Bug fixes

  • Fixed "Tried to resolve a promise more than once" crash on iOS. (#27672 by @kudo)

💡 Others

  • Create native module for iOS and Android. Migrate downloadAsync to a native implementation. (#27369 by @aleqsio)
  • Remove MD5 checksum verification for remote assets. This does not change method signatures nor require changes to your application code, and should not affect any apps in practice since this behavior was used only for apps that used Classic Updates, support for which ended with SDK 50. (#25614 by @ide)
  • [expo-updates] Migrate to requireNativeModule/requireOptionalNativeModule. (#25648 by @wschurman)
  • Clean up some asset stuff. (#26310 by @wschurman)
  • Remove most of Constants.appOwnership. (#26313 by @wschurman)
  • Remove assetUrlOverride and assetMapOverride. (#26314 by @wschurman)
  • Improve updates types and clarity in expo-asset. (#26337 by @wschurman)
  • Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)

9.0.2 - 2024-01-05

🐛 Bug fixes

  • Fix relative URLs and support for unstable_path in development. (#26084 by @EvanBacon)

9.0.1 — 2023-12-13

This version does not introduce any user-facing changes.

9.0.0 — 2023-12-12

🛠 Breaking changes

🎉 New features

💡 Others

  • Removed references to legacy bundledAssets constant from expo-file-system that was used only in standalone apps. (#25484 by @tsapeta)

8.14.0 — 2023-11-14

🐛 Bug fixes

💡 Others

  • Collapse re-export of react-native/Libraries/Image/AssetRegistry to @react-native/assets-registry/registry. (#25265 by @EvanBacon)
  • Migrate to new standard URL support on native. (#24941 by @EvanBacon)
  • Renamed unimodule.json to expo-module.config.json. (#25100 by @reichhartd)

8.13.0 — 2023-10-17

🐛 Bug fixes

8.12.1 — 2023-09-16

This version does not introduce any user-facing changes.

8.12.0 — 2023-09-04

🛠 Breaking changes

  • Convert ../ to _ for the property httpServerLocation in hashAssetFiles (Metro asset pre-processor) to support assets in monorepos the same everywhere. (#24090 by @EvanBacon)

8.11.0 — 2023-08-02

This version does not introduce any user-facing changes.

8.10.1 — 2023-06-24

This version does not introduce any user-facing changes.

8.10.0 — 2023-06-13

This version does not introduce any user-facing changes.

8.9.2 — 2023-05-08

🐛 Bug fixes

  • Fixed monorepo asset resolution in production for Metro web. (#22094 by @EvanBacon)

8.9.1 - 2023-03-08

🐛 Bug fixes

  • Fixed @react-native/assets-registry module not found issue on Web. (#21469 by @kudo)

8.9.0 — 2023-02-09

This version does not introduce any user-facing changes.

8.8.0 — 2023-02-03

🐛 Bug fixes

  • Fix loading Metro web assets from origins other than /. (#20258 by @EvanBacon)

💡 Others

8.6.2 — 2022-10-25

This version does not introduce any user-facing changes.

8.6.1 — 2022-07-19

This version does not introduce any user-facing changes.

8.6.0 — 2022-07-07

This version does not introduce any user-facing changes.

8.5.0 — 2022-04-18

💡 Others

  • Swap out Cloudfront CDN for classic-assets.eascdn.net. (#15781) by @quinlanj

8.4.6 - 2022-01-13

🐛 Bug fixes

8.4.5 — 2021-12-21

🐛 Bug fixes

  • Fix an issue preventing the loading of assets using expo-updates manifests during local development. (#15667) by @jonsamp

8.4.4 — 2021-11-17

🐛 Bug fixes

8.4.1 — 2021-10-01

💡 Others

  • Updated @testing-library/react-hooks to version 7.0.1. (#14552) by @Simek)

8.4.0 — 2021-09-08

🎉 New features

8.3.2 — 2021-04-21

🎉 New features

8.3.1 — 2021-03-23

🐛 Bug fixes

  • Removed annoying yellowbox warning message in bare workflow when there's no manifest available. (#12237 by @bbarthec)

8.3.0 — 2021-03-10

🐛 Bug fixes

  • Remove peerDependencies and unimodulePeerDependencies from Expo modules. (#11980 by @brentvatne)

8.2.2 — 2021-01-15

This version does not introduce any user-facing changes.

8.2.1 — 2020-11-17

This version does not introduce any user-facing changes.

8.2.0 — 2020-08-18

🎉 New features

  • Add useAssets hook to simplify assets handling. (#8928 by @bycedric)

🐛 Bug fixes

  • Fixed Asset.loadAsync() TypeScript signature to match Asset.fromModule() types. (#9246 by @barthap)

8.1.7 — 2020-05-29

This version does not introduce any user-facing changes.

8.1.6 — 2020-05-27

This version does not introduce any user-facing changes.

8.1.5

🎉 New features

  • asset.downloadAsync() returns the resolved Asset when it resolves. (#8646 by @EvanBacon)
  • Asset.loadAsync() returns an array of resolved Assets when it finishes loading the resources. (#8646 by @EvanBacon)
  • Added support for the expo-updates no-publish workflow. (#8003 by @esamelson)