Stop depending on @rolldown/binding-wasm32-wasi directly

The binding declares cpu: wasm32, so npm on x64 hosts (Vercel) fails
with EBADPLATFORM. The nodesandbox runtime already installs every
package's *-wasm32-wasi optional dependency (rolldown's included), so
the app doesn't need to list it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Rami Bitar
2026-10-03 15:16:59 -04:00
co-authored by Claude Opus 5.5
parent fb7ef27621
commit d33a6894f3
3 changed files with 8 additions and 7 deletions
+8 -4
View File
@@ -27,10 +27,14 @@ yarn dev # http://localhost:3000
The sandbox runs Vite's native tools as WebAssembly (`NAPI_RS_FORCE_WASI`), and The sandbox runs Vite's native tools as WebAssembly (`NAPI_RS_FORCE_WASI`), and
its installer resolves from `package.json` ranges rather than `yarn.lock`. So: its installer resolves from `package.json` ranges rather than `yarn.lock`. So:
- `vite` is pinned to **8.1.3**, which uses rolldown 1.1.x; `rolldown` and - `vite` is pinned to **8.1.3**, which uses rolldown 1.1.x, and `rolldown` to
`@rolldown/binding-wasm32-wasi` are pinned to **1.1.4**. Rolldown 1.2.x's **1.1.4**. Rolldown 1.2.x's WASI binding needs glue the runtime doesn't
WASI binding needs glue the runtime doesn't support ("WASI binding not support yet ("WASI binding not found"). Bump these only together with the
found"). Bump these only together with the runtime. runtime.
- WASI bindings (`@rolldown/binding-wasm32-wasi`, `@tailwindcss/oxide-wasm32-wasi`)
are **not** listed here: the runtime installs each package's `*-wasm32-wasi`
optional dependency itself, and npm on other hosts rejects them
(`EBADPLATFORM`).
- `@vitejs/plugin-react` (6.0.0) and Tailwind (4.3.1) match the harness samples. - `@vitejs/plugin-react` (6.0.0) and Tailwind (4.3.1) match the harness samples.
- No Nitro: it brings its own rolldown 1.2.x. - No Nitro: it brings its own rolldown 1.2.x.
-1
View File
@@ -13,7 +13,6 @@
"@fontsource-variable/geist": "^5.3.0", "@fontsource-variable/geist": "^5.3.0",
"@fontsource-variable/geist-mono": "^5.3.0", "@fontsource-variable/geist-mono": "^5.3.0",
"@remixicon/react": "^4.9.0", "@remixicon/react": "^4.9.0",
"@rolldown/binding-wasm32-wasi": "1.1.4",
"@shopify/hydrogen": "0.0.0-preview-116d5d7-20260730141607", "@shopify/hydrogen": "0.0.0-preview-116d5d7-20260730141607",
"@tanstack/query-core": "^5.104.1", "@tanstack/query-core": "^5.104.1",
"@tanstack/react-query": "^5.104.1", "@tanstack/react-query": "^5.104.1",
-2
View File
@@ -1953,7 +1953,6 @@ __metadata:
"@emnapi/core": "npm:1.11.1" "@emnapi/core": "npm:1.11.1"
"@emnapi/runtime": "npm:1.11.1" "@emnapi/runtime": "npm:1.11.1"
"@napi-rs/wasm-runtime": "npm:^1.1.6" "@napi-rs/wasm-runtime": "npm:^1.1.6"
checksum: 10c0/e248421de5a5d30667deb15274101b73562e0ccb25de708eb7c1e463d825dfbf42e0a498f70093d8c22bf640d21f660c5d9e158001ecbb0e02c8c2be8db4009a
conditions: cpu=wasm32 conditions: cpu=wasm32
languageName: node languageName: node
linkType: hard linkType: hard
@@ -3924,7 +3923,6 @@ __metadata:
"@fontsource-variable/geist": "npm:^5.3.0" "@fontsource-variable/geist": "npm:^5.3.0"
"@fontsource-variable/geist-mono": "npm:^5.3.0" "@fontsource-variable/geist-mono": "npm:^5.3.0"
"@remixicon/react": "npm:^4.9.0" "@remixicon/react": "npm:^4.9.0"
"@rolldown/binding-wasm32-wasi": "npm:1.1.4"
"@shopify/hydrogen": "npm:0.0.0-preview-116d5d7-20260730141607" "@shopify/hydrogen": "npm:0.0.0-preview-116d5d7-20260730141607"
"@tailwindcss/vite": "npm:4.3.1" "@tailwindcss/vite": "npm:4.3.1"
"@tanstack/query-core": "npm:^5.104.1" "@tanstack/query-core": "npm:^5.104.1"