Returns dirname and filename for ESM modules in node
npm install esm-module-pathsESM modules don't allow to use __dirname and __filename do determine a .js file's location.
Instead, you need to copy/paste multiple lines and expressions each time to achieve the same.
This package makes this a bit easier.
Imagine a file in ./your/path/index.js
``js
import { getModulePaths } from "esm-module-paths";
const { __dirname, __filename } = getModulePaths();
console.log(__dirname); // /your/path
console.log(__filename); // /your/path/index.js
`
For convenience reasons, the library also exports __filename and __dirname as functions, which can be used independently.
`js
import { __filename, __dirname } from "esm-module-paths";
console.log(__dirname()); // /your/path
console.log(__filename()); // /your/path/index.js
`
Since __dirname and __filename being functions may be confusing to some, especially since those used to be variables, this package also exports aliased, more descriptive versions of each function.
`js
import { getFileName, getDirName } from "esm-module-paths";
console.log(getDirName()); // /your/path
console.log(getFileName()); // /your/path/index.js
`
`sh`
npm install esm-module-paths
or
`sh``
yarn add esm-module-paths