FYI you might find the GNU units(1) tool useful, which has a huge catalog of units and understands about the same set of math operations as a scientific calculators. From the demo I actually thought this was using GNU units in the background.
That's pretty cool. I did search for a unit calculation library before starting this but since WASM is a priority I wanted to use a Rust one.
Check out Rink: https://github.com/tiffany352/rink-rs