Build failure: WASM `?module` import not supported by Rolldown
#1,351 opened on May 20, 2026
Repository metrics
- Stars
- (8,563 stars)
- PR merge metrics
- (Avg merge 1d 1h) (462 merged PRs in 30d)
Description
This issue was created by an agent analysing CI failures from the Next.js Deploy Suite (vinext
mainvs Next.jsv16.2.6, 2026-05-20).
Problem
Rolldown cannot handle .wasm?module imports. This is a Cloudflare Workers-specific import convention (?module suffix tells the runtime to instantiate the WASM module). Neither Rolldown nor Vite have built-in support for this pattern.
Build failed with 1 error:
[UNLOADABLE_DEPENDENCY] Could not load src/add.wasm?module
╭─[ src/add.js:1:18 ]
1 │ import wasm from "./add.wasm?module";
Next.js handles this through Webpack's experimental WASM support.
Estimated Impact
~4 test failures (build failure in all 3 Vite environments: RSC, client, SSR).
Affected Test Suites
test/e2e/edge-can-use-wasm-files/index.test.ts
Recommendation
-
Reproduce first in vinext's own test suite. Add a test that imports a
.wasm?modulefile and verify the build fails. -
Implement a Vite plugin for WASM module imports. Create a plugin that intercepts
.wasm?moduleimports and handles them appropriately for the target environment. For Cloudflare Workers, the?moduleimport should be preserved in the output. For Node.js, it should useWebAssembly.compile()with a file read. -
Note: This may require upstream Rolldown support. Check if there is an existing Rolldown issue or plugin for WASM imports.