[TASK] Move to ESM modules
Many dependencies are starting to support ESM only modules over CommonJS. This means moving syntax from require to import. https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c ESM modules support both ESM AND CommonJS, but there is some gotacha, including requiring a JSON file isnt possible. The main risk i have seen in the past is affect on FS module, which no longer supports __dirname and workarounds are needed (not major). Ideally some helper methods (instead of just metadata) have test classes added before to help validate if migration affects functionality
marking this for the next minor release, after we've gotten 4.0 on the road ;-)
Will need to be a major release as this would break anything using commonjs referencing our project. Can be a major release JUST for this, but still needs a major. None the less, agree its a next step, not for v4