Build failure: WASM `?module` import not supported by Rolldown
#1,351 创建于 2026年5月20日
仓库指标
- 星标
- (8,625 个星标)
- PR 合并指标
- (平均合并 1天 1小时) (30 天内合并 462 个 PR)
描述
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.