I have a large codebase (>100Mb) and it seems that expo fails to upload the JS bundle to its CDN.
Here’s the error that I’m getting when running expo publish
Building optimized bundles and generating sourcemaps...
Starting Metro Bundler
Finished building JavaScript bundle in 26994ms.
Bundle Size
┌ index.ios.js 104 MB
├ index.android.js 104 MB
├ index.ios.js.map 68.8 MB
└ index.android.js.map 68.8 MB
💡 JavaScript bundle sizes affect startup time. Learn more.
Analyzing assets
Saving assets
No assets changed, skipped.
Processing asset bundle patterns:
- /Users/vels/vdev/zreader/zreader/**/*
Uploading JavaScript bundles
Request body larger than maxBodyLength limit
Error: Request body larger than maxBodyLength limit
at RedirectableRequest.write (/Users/vels/.nvm/versions/node/v12.18.0/lib/node_modules/expo-cli/node_modules/axios/node_modules/follow-redirects/index.js:98:24)
at RedirectableRequest.end (/Users/vels/.nvm/versions/node/v12.18.0/lib/node_modules/expo-cli/node_modules/axios/node_modules/follow-redirects/index.js:117:8)
at dispatchHttpRequest (/Users/vels/.nvm/versions/node/v12.18.0/lib/node_modules/expo-cli/node_modules/axios/lib/adapters/http.js:272:11)
at new Promise (<anonymous>)
at httpAdapter (/Users/vels/.nvm/versions/node/v12.18.0/lib/node_modules/expo-cli/node_modules/axios/lib/adapters/http.js:20:10)
at dispatchRequest (/Users/vels/.nvm/versions/node/v12.18.0/lib/node_modules/expo-cli/node_modules/axios/lib/core/dispatchRequest.js:59:10)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at ApiV2Client._requestAsync (/@expo/xdl@59.0.19/src/ApiV2.ts:232:18)
at ApiV2Client.uploadFormDataAsync (/@expo/xdl@59.0.19/src/ApiV2.ts:184:12)
at _uploadArtifactsAsync (/@expo/xdl@59.0.19/src/Project.ts:873:10)
I’ve tried downgrading the expo-cli to 4.1.3 (saw an issue about it), but it didn’t help.
I even tried increasing the maxBodyLength
in follow-redirects
, but this makes the expo servers return 413 error:
data: 208183555, max: 536870912
Request failed with status code 413
Error: Request failed with status code 413
at createError (/Users/vels/.nvm/versions/node/v12.18.0/lib/node_modules/expo-cli/node_modules/axios/lib/core/createError.js:16:15)
at settle (/Users/vels/.nvm/versions/node/v12.18.0/lib/node_modules/expo-cli/node_modules/axios/lib/core/settle.js:17:12)
at IncomingMessage.handleStreamEnd (/Users/vels/.nvm/versions/node/v12.18.0/lib/node_modules/expo-cli/node_modules/axios/lib/adapters/http.js:237:11)
at IncomingMessage.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1221:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
Any chance I can build and publish a bundle of this size?
Diagnostics:
Expo CLI 4.1.3 environment info:
System:
OS: macOS 10.15.7
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.18.0 - ~/.nvm/versions/node/v12.18.0/bin/node
npm: 6.14.11 - ~/.nvm/versions/node/v12.18.0/bin/npm
Managers:
CocoaPods: 1.10.0 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
Android SDK:
API Levels: 30
Build Tools: 30.0.2
System Images: android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom
IDEs:
Android Studio: 4.1 AI-201.8743.12.41.7042882
Xcode: 12.4/12D4e - /usr/bin/xcodebuild
npmPackages:
expo: ~40.0.0 => 40.0.0
react: 16.13.1 => 16.13.1
react-dom: 16.13.1 => 16.13.1
react-native: https://github.com/expo/react-native/archive/sdk-40.0.1.tar.gz => 0.63.2
react-native-web: ~0.13.12 => 0.13.18
npmGlobalPackages:
expo-cli: 4.1.3
Expo Workflow: managed