For a long time @fastify/vite resisted a TypeScript rewrite, staying true to Fastify's original JavaScript style, which to this date remains CJS written in the same form as seen in Node.js' own internal JavaScript libraries.
The next major release of @fastify/vite will have a TypeScript core and will be compiled to ESM. This release will be coupled with a PR to Fastify itself supporting import() Promises in plugin registration calls.