ESM replacements for __dirname and __filename.
npm install @darkobits/fd-name
Backwards-compatible replacement for __filename / __dirname in ESM environments.
```
npm install @darkobits/fd-name
This package is a hybrid module that exports ESM and CJS. If you are authoring ESM, CJS, or more likely
authoring ESM-like syntax that is being transpiled to CJS, you can use this package today and transition
to pure ESM in the future with no breaking changes. ✨
> /foo/bar/unicorns.js
`js
import { filename, dirname } from '@darkobits/fd-name';
filename() //=> '/foo/bar/unicorns.js'
dirname() //=> '/foo/bar'
`
This is a bit less awkward than:
`js
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
`
Which has to be repeated in every file you want to use these values in, as import.meta is specific to
the local module.
⚠️ Note: This package removes the file:// protocol prefix from paths in ESM as most tooling doespath` module.
not play nicely with it, including the built-in