Emscripten has been able to compile to WASM since before WASM was implemented in browsers. It became the default output earlier this year.
Some more detail: Emscripten has defaulted to emit wasm even earlier, in May 2018. The change this year was to switch how that wasm is emitted, from the old fastcomp+asm2wasm path to the new LLVM wasm backend.
I was actually thinking about the switch from asm.js to WASM (v1.38.1) but apparently that was last year. Whoops!
Emscripten has a WASM backend, it was originally JavaScript only.