expo / expo/eas-cli

eas deploy (Hosting): "The multipart part asset name is unexpected" on large static site (~48k files)

Open
#4,257 2 comments 0 reactions 1 assignee Claimed by @douglowder View on GitHub
issue accepted
Dominant language
TypeScript
Stars
1.4k
Forks
236
Avg merge
3d 1h
Merged PRs (30d)
91

Description

### Summary

`eas deploy --prod` (EAS Hosting) consistently fails during the asset-upload step, immediately after `✔ Created deployment`, with:

```
The multipart part asset name is unexpected
Error: deploy command failed.
```

This is for a large static **Expo Router web export** (`npx expo export --platform web`): roughly **47,000+ HTML pages**, ~**49,000 total files**, ~**1.1–1.25 GB**.

### Reproduction / environment

- `eas-cli` 22.2.0 (also reproduced on latest via `npm install -g eas-cli`).
- Static web export deployed with `eas deploy --prod --non-interactive`.

### What we've verified

- **Deterministic, not a network issue**: fails identically from a local machine *and* from a GitHub Actions runner (stable network), every time, after a full upload (~30–40 min).
- Inspected the deployment manifest via `eas deploy --dry-run` (the `assets.json` inside `deploy.tar.gz`). It lists ~61k assets and is **clean**: no non-ASCII names, no quotes/control chars, no empty names, no duplicate hashes, no case-insensitive collisions, and no file/directory name clashes.
- Reduced file count from ~61k to ~49k (inlined per-page SVGs). **Still fails** with the same error.

### Questions

1. What are the actual limits for an EAS Hosting deployment — max number of files/assets and max total upload size?
2. Is `The multipart part asset name is unexpected` a known issue with the asset-batch upload for deployments with tens of thousands of files (a batch count/size ceiling)?
3. What's the recommended approach for deploying a large static site (47k+ pages) on EAS Hosting — a higher plan, a config change (`.easignore`, chunking), or is a site this size outside EAS Hosting's intended scale?

Happy to share the project ID privately with a maintainer. Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.