EAS Update asset bundling fails

We are migrating to EAS from Expo build and we are using the managed workflow.
eas-cli: eas-cli/0.44.1 darwin-x64 node-v12.14.1

When I try to run an over the air update with

APP_ENV=frt eas update --branch frt

(I use app.config + app.frt.json and therefore I need this APP_ENV)

I get an error because of my assets:

✖ Failed to upload assets
    CombinedError: [GraphQL] During EAS Update Preview, we are limiting uploads to 100 assets per publish.
error Command failed with exit code 1.

I tried to specify assetBundlePatterns: ['assets/beta/*'], and also tried different paths and also an empty list but it doesn’t change anything.
I also upgraded my eas-cli and expo-cli version, but no change.
I would be fine to not bundle any assets, but it seems like it includes a long list which also includes node_modules. How can I exclude paths?

Thank you so much for your help.
Chris

Hey Chris!

Thanks for posting about this. Would you mind posting (tree assets) what is in your assets dir or at least how many assets are inside?

Screenshot 2022-01-13 at 08.58.10
Hello, yes! According to this info, I have 27 items in this folder all together. But as said, even if I change the array to a subfolder or empty, it seems to be more than 100, according to the error.

edit:
The asset folder thats going to be created in the dist folder has over 200 items in it. Not sure how this is related to my list of assetBundlePatterns, since it doesn’t matter what I put in the list :confused:

Also I saw that expo puts assets from the node_modules into the list. When I was updating with an older version of eas-cli I could see every item.

Also the number of assets in the dist folder is always 213, no matter, what I put in the assetBundlePatterns list.

Migrating from "expo build" - Expo Documentation
This seem to be not correct then, or what am I missing?

Hi Chris,

Thanks for bringing this up and for trying out EAS Update!

The assetBundlePatterns property in your project’s app config controls which assets are included in the build archive when we create a build of your project.

When running eas update, we bundle all assets, since we can’t be certain which build the update is running on. So, we guarantee that any missing assets can be fetched if the build does not already contain them.

If you’re curious which assets are included when updating, you can look in the /dist folder, but it’ll be hard to tell which asset is which. To see a pretty-printed list, you can run expo export --experimental-bundle. That’s the same command eas update is running, it just hides the output.

We’re currently working on expanding our asset limit to permit projects like yours to publish. I hope there will be a fix deployed soon!

Hi Chris,
we’ve decided to increase the limits to support up to 300 assets per update. You should be able to publish now. Please let us now if this continues to be a problem.

We are very eager to make this a good experience for you!

It works now! Thank you so much @jkhales !
Also thanks to @jonsamp for explaining the whole thing to me. I got it now :muscle:
Have a great start into the year

2 Likes