Description
To modernize the project, we should move from CommonJS to ESM, and update/switch bundler. This also requires changes to TypeScript configuration. Since Jest isn't fully ESM compatible as noted here at the time of writing, we should move to Vitest.