The ZDeceptron JavaScript runtime, embedded and executable from Rust.
The runtime library that generated code links against is written in JavaScript, because it manipulates the DOM and there is no other way to do that (spec §14E.2). But verifying it must not require a JavaScript toolchain: needing Node to build ZDeceptron would be the first crack in the claim that a developer installs one binary and nothing else.
So the sources are embedded here and evaluated with a pure-Rust engine.
cargo test covers the runtime; nothing else has to be installed.
Two halves, and why the seam is a feature
Holding the runtime sources and running them are different jobs, and
the evaluate feature is where they part. Everything above the seam is
text and plain data — the .js and .css a bundle ships, and the
signatures a capability is written against. Everything below it is
boa_engine, a JavaScript interpreter written in Rust.
The seam is cut here rather than left implicit because boa_engine
reaches getrandom, and getrandom will not build for
wasm32-unknown-unknown without an entropy backend chosen by --cfg.
zdc-codegen depends on this crate for seven const &strs, so without
the seam the entire front end inherited that refusal and no part of this
compiler could run in a browser (#171). See the feature's comment in
Cargo.toml for the dependency chain in full.