# This list should be kept as short as possible, and things should remain here
# only as long as necessary, since in general all web packages should work with
# Wasm.
#
# This is only used for the rare case where a package fails in Wasm, but works
# in JS mode.
