Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

dirname-filename-esm

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dirname-filename-esm

Easy __dirname and __filename alternatives for ES Modules

  • 1.1.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

__dirname and __filename for ES Modules on Node.js

CI npm

Node.js v13.2.0 was released with support for ES Modules. The official announcement explains the overview.

In ES Modules environment, global variables such as require, exports, module.exports, __filename, __dirname are not available. require, exports, module.exports are no longer necessary in favor of ESM, but we still need __filename and __dirname which can be calculated from import.meta.url.

To make the migration from commonjs to ES Modules smooth, dirname-filename-esm provides functions to create __dirname and __filename variables easily in an ES Modules environment.

Installation

npm install --save dirname-filename-esm

Usage

Usage is very straightforward.

// In ".mjs" script or a script under "type": "module" package
import { dirname, filename } from 'dirname-filename-esm';

const __dirname = dirname(import.meta);
const __filename = filename(import.meta);

// Use __dirname and __filename like in a commonjs module

Two functions are exported.

  • dirname() takes import.meta object and returns __dirname value of the script.
  • filename() takes import.meta object and returns __filename value of the script.

These functions return an empty string if import.meta doesn't have url property.

This package has zero dependency.

This package offers TypeScript support. Since this package is for ES Modules environment, ensure that module option is set to one of the following values in your tsconfig.json.

  • es2020 or later
  • node16 or later

License

the MIT License

Keywords

FAQs

Package last updated on 11 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc