esm-module-paths
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

esm-module-paths

ESM 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.

Usage

Imagine a file in ./your/path/index.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.

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.

import { getFileName, getDirName } from "esm-module-paths";

console.log(getDirName()); // /your/path
console.log(getFileName()); // /your/path/index.js

Installation

npm install esm-module-paths

or

yarn add esm-module-paths

Readme

Keywords

none

Package Sidebar

Install

npm i esm-module-paths

Weekly Downloads

2,900

Version

1.1.1

License

ISC

Unpacked Size

3.74 kB

Total Files

5

Last publish

Collaborators

  • robin-drexler