Vite seems to be less forgiving with regards to CJS modules, and won't allow named imports from them.
This means that consumers can't import in the same way that we do within this repo (which uses the raw TypeScript).
We probably need to publish ESM alongside the CJS and allow Vite to chose which it wants to use.
We should avoid publishing only ESM as that means that all consumers need to be ESM themselves.