You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
review: address pre-merge feedback on emscripten target
Working through reviewer-flagged items before landing:
* Windows: `emcc` is invoked via the full path resolved by
`which::which("emcc")` instead of the bare string "emcc". Stashed
on the Build struct in `step_check_for_emcc` and threaded through
`emcc_link` and `emcc_post_link`. The Rust process spawner doesn't
honour PATHEXT for bare names, so `Command::new("emcc")` couldn't
find `emcc.bat` on Windows; using the full path works since Rust
1.77's CVE-2024-24576 fix added explicit .bat handling for full paths.
* tests: `prepend_path` (the `EMSCRIPTEN_BIN` companion helper, kept
as a future debugging hook) now uses `std::env::join_paths` instead
of a hardcoded `:` separator. Was a trap for the same Windows port.
* tests: `make_node_driver` JSON-encodes the .mjs URL when interpolating
it into the JS source, so Windows-style paths with backslashes can't
break out of the JS string literal.
* template: bumped `wasm-bindgen = "0.2"` to `"0.2.122"` so new
projects scaffolded via `wasm-pack new --emscripten` pick up the
emscripten output-mode fixes (wasm-bindgen#5156). Older versions
produce broken JS/wasm under the emscripten target.
* docs: corrected stale comment that referenced an "EmscriptenRuntime"
interface decoration. The decoration was deliberately scaled back to
not claim runtime members (`HEAP*`, `FS`, `ccall`/`cwrap`) on
the factory return; the comment now reflects what the code actually
does.
* style: collapsed `Target::Bundler`, `Web`, and `Deno` post-link
settings into a single match arm with an explanatory comment. They
were three identical struct literals.
0 commit comments