Weval AOT (0.3.4 and 0.4.1 with the wizer memory packing optimization) adds an absolutely massive heap for basically all JS web frameworks today. Even with statically prerendered content stored in K/V and stripped from the bundle, tiny functions expand to several KB of heap which compounds, blowing the WASM binary size limit.
I’ve spent an extraordinary amount of time working around the limitations of StarlingMonkey, but the most time spent trying to surgically remove stuff from bundles (and it really is impossible; I’ve tinkered with WEVAL_MAX_ARGS and DelazificationOption… nothing quite does the job).
With AOT disabled, the runtime’s limitations still pose a challenge that make the platform unsavory.