Faster local dev with build cache providers in Expo (Experimental)

ProductDevelopment3 minutes read

Gabriel Donadel

Gabriel Donadel

Engineering

Speed up local development with SDK 53’s new build cache providers. Skip redundant builds, share caches with teammates, & ship faster from your machine.

Faster local dev with build cache providers in Expo

Imagine never recompiling the same code twice—and instantly sharing those cached builds with your team. With every skipped rebuild, you gain more time to focus on what matters: building exceptional features (instead of watching build logs). With SDK 53, we introduced a new experimental feature that speeds up npx expo run:[android|ios] by caching builds remotely based on the project fingerprint.

Remote Build Cache

How the build cache provider works

When you configure experiments.buildCacheProvider in your app config, running npx expo run:[ios|android] will look for a build with a matching fingerprint on a remote server, and if one exists it will download and launch it rather than compiling the app again. If there is no matching build, then it will continue to compile locally as usual for the run command, then upload the archive once it is completed. On subsequent runs, you and your teammates will download the new build automatically and save a few minutes each time.

Using the EAS Build provider

Build cache providers are fully customizable and can be configured to download and upload builds from anywhere. If you want to use the EAS build provider you simply add eas-build-cache-provider as a developer dependency then add the following fields to your app config:

Code
{
"expo":{
"experiments": {
"buildCacheProvider": "eas"
}
}
}

The EAS build provider works similarly to eas build:dev, but the main distinction is that this buildCacheProvider approach will compile your app locally when there is a cache miss, rather than build on EAS. During this initial experimental period, we’ve limited the number of cached builds with the EAS provider to 10 on the free and on-demand plans, 50 with the production plan, and 100 with the enterprise plan (per billing cycle). We’ll adjust this as the feature moves towards a stable release.

You can use other build providers, such as this template example, which allows you to host your own build cache using GitHub Releases. Learn how to implement your own provider plugin by following our guide at: https://docs.expo.dev/guides/cache-builds-remotely/.

When to use the build cache provider

Build cache providers can be especially helpful on larger apps or when switching branches frequently, as it works automatically with teammates (they’ll pull from the same cache) and you get speed benefits without losing local control.

Try it out today and let us know if this is useful for you and your team, and share any other thoughts you have about similar tools we can build to help improve the speed of your development workflow.

SDK 53
EAS Build
local development
developer productivity
mobile CI/CD
build cache provider

Create amazing apps, in record time with EAS

Learn more