Commit 1fef292
wasm: migrate to upstream ruby-rbs on all targets; land Phase 0 browser spike
Drop the rubys/rbs-rust fork: roundhouse now depends on the published ruby-rbs = "0.3" on every target. wasm only needs ruby-rbs-sys built for wasm32 — its vendored RBS C parser compiled by the WASI-SDK clang, and its bindgen run against the host target (#[repr(C)] is layout-portable), sidestepping the libclang-version-fragile bindgen-against-wasm failures.
That build.rs support is upstreamed as ruby/rbs#2992; until it publishes, wasm/Cargo.toml carries a temporary [patch.crates-io] ruby-rbs-sys local path (repin once merged). Build requires WASI_SDK_PATH=/opt/wasi-sdk.
Also lands the rung-A Phase 0 browser spike (wasm/browser-spike/): a shared wasi-shim.mjs + transpile.mjs driving both the Node validator and a static browser page — proving the compiler transpiles real-blog in a real tab with no WebContainer/npm/bundler. Plus docs/browser-demo-plan.md.
Verified: native cargo check --lib clean; wasm build clean (3.2 MB); node round-trip OK.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent c3a6531 commit 1fef292
16 files changed
Lines changed: 1064 additions & 41 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | 7 | | |
11 | 8 | | |
12 | 9 | | |
| |||
0 commit comments