The main drawback of transitioning to ESM (ECMAScript Modules) at the moment is the inability of jest.mock to mock ES modules without Babel: github.com/jestjs/jest/issues/10025
One thing that bothers me about modules is .js extension inside the import statement of the TS file. Another is that the pure esm library is not compatible with commonjs project, so I have to use an older version or skip that library and use a different one.
Totally! There are also new file extensions (.cjs & .mjs) and differing behavior of the two module systems: nodejs.org/api/esm.html#differences-between-es-modules-and-commonjs