this-file (npm): If you are an author of open source repository, you may want to support both CJS and ESM for users since it's a confused period. It's hard to use `__dirname` and `import.meta.url` in one file specially for typescript project.
Keywords: es-modules|esm-dirname|esm-filename|esm-require