robin-drexler / esm-module-paths

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About


Languages

Language:TypeScript 55.1%Language:JavaScript 44.9%