Fetch the current file and directory path, no matter your environment (Deno, Node.js, Web Browsers, ESM, CJS)
The following works for ESM (ECMAScript Modules) and CJS (CommonJS Modules) enviroments:
// for deno
import filedirname from 'https://unpkg.com/filedirname/edition-deno/index.ts'
// for web browsers
import filedirname from 'https://unpkg.com/filedirname'
// for node.js
import filedirname from 'filedirname'
// for commonjs
const filedirname = require('filedirname').default
// usage
const [file, dir] = filedirname()
console.log({ file, dir })
The following works for ESM (ECMAScript Modules) and CJS (CommonJS Modules) environments:
// for deno
import filedirname from 'https://unpkg.com/filedirname/edition-deno/index.ts'
// for web browsers
import filedirname from 'https://unpkg.com/filedirname'
// for node.js
import filedirname from 'filedirname'
// for commonjs
const filedirname = require('filedirname').default
// usage
const [file, dir] = filedirname(new Error())
console.log({ file, dir })
The following works only for ESM (ECMAScript Modules) environments and is the quickest solution:
// for deno
import filedirname from 'https://unpkg.com/filedirname/edition-deno/index.ts'
// for web browsers
import filedirname from 'https://unpkg.com/filedirname'
// for node.js
import filedirname from 'filedirname'
// usage
const [file, dir] = filedirname(import.meta.url)
console.log({ file, dir })
- Install:
npm install --save filedirname
- Import:
import pkg from ('filedirname')
- Require:
const pkg = require('filedirname').default
import pkg from 'https://unpkg.com/filedirname@^3.4.0/edition-deno/index.ts'
This package is published with the following editions:
filedirname
aliasesfiledirname/index.cjs
which uses the Editions Autoloader to automatically select the correct edition for the consumer's environmentfiledirname/source/index.ts
is TypeScript source code with Import for modulesfiledirname/edition-es2022/index.js
is TypeScript compiled against ES2022 for Node.js 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modulesfiledirname/edition-es5/index.js
is TypeScript compiled against ES5 for Node.js 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modulesfiledirname/edition-es2022-esm/index.js
is TypeScript compiled against ES2022 for Node.js 12 || 14 || 16 || 18 || 20 || 21 with Import for modulesfiledirname/edition-types/index.d.ts
is TypeScript compiled Types with Import for modulesfiledirname/edition-deno/index.ts
is TypeScript source code made to be compatible with Deno
Discover the release history by heading on over to the HISTORY.md
file.
Discover how to contribute via the CONTRIBUTING.md
file.
- Benjamin Lupton — Accelerating collaborative wisdom.
- Benjamin Lupton — Accelerating collaborative wisdom.
- Andrew Nesbitt — Software engineer and researcher
- Balsa — We're Balsa, and we're building tools for builders.
- Codecov — Empower developers with tools to improve code quality and testing.
- Poonacha Medappa
- Rob Morris
- Sentry — Real-time crash reporting for your web apps, mobile apps, and games.
- Syntax — Syntax Podcast
- Andrew Nesbitt
- Armen Mkrtchian
- Balsa
- Chad
- Codecov
- dr.dimitru
- Elliott Ditman
- entroniq
- GitHub
- Hunter Beast
- Jean-Luc Geering
- Michael Duane Mooring
- Michael Harry Scepaniak
- Mohammed Shah
- Mr. Henry
- Nermal
- Pleo
- Poonacha Medappa
- Rob Morris
- Robert de Forest
- Sentry
- ServieJS
- Skunk Team
- Syntax
- WriterJohnBuck
Unless stated otherwise all works are:
- Copyright © Benjamin Lupton
and licensed under: