I was able to do this with vitest and a ton of lint rules.