After much playing around today, I found that the Ammo build MackeyK24 commited compiles well in the browser and in a Node.js server with and without .wasm (using the code below)
In Browser:
// in index.html
// js
<script src="lib/ammo/ammo.js"></script>
// wasm
<script src="lib/ammo/ammo.wasm.js"></script>
// also have ammo.wasm.wasm in lib/
await Ammo();
const physEngine = new BABYLON.AmmoJSPlugin(false);
In Node.js server:
// @ts-ignore
import * as ammo from './ammo'; // js
// with ammo.js in your webpack entry folder
// @ts-ignore
import * as ammo from './ammo.wasm'; // wasm
// with ammo.wasm.js in your webpack entry folder
// also have ammo.wasm.wasm in your webpack output folder
// @ts-ignore
const Ammo = await ammo.default();
const physEngine = new BABYLON.AmmoJSPlugin(false, Ammo);
Maybe I’m doing something wrong, but I had trouble getting .wasm to work with the reverted Ammo
Edit:
The following should also work in a Node.js server:
// @ts-ignore
import { default as Ammo } from './ammo'; // js
// with ammo.js in your webpack entry folder
// @ts-ignore
import { default as Ammo } from './ammo.wasm'; // wasm
// with ammo.wasm.js in your webpack entry folder
// also have ammo.wasm.wasm in your webpack output folder
const physEngine = new BABYLON.AmmoJSPlugin(false, await Ammo());