Polyfills globals like __dirname
with modern ESM equivalents like
import.meta.dirname
, and augments the global types to include these new
globals across the entire workspace it is used in.
The following globals and values are contributed by this package:
Name | Value |
---|---|
__dirname |
import.meta.dirname , or path.dirname(import.meta.url) 1
|
__filename |
import.meta.filename , or import.meta.url 1
|
require |
createRequire(import.meta.url) |
global |
globalThis |
process |
import("node:process").default |
console |
import("node:console").default |
Buffer |
import("node:buffer").Buffer |
URL |
import("node:url").URL |
URLSearchParams |
import("node:url").URLSearchParams |
setImmediate |
import("node:timers").setImmediate |
setInterval |
import("node:timers").setInterval |
setTimeout |
import("node:timers").setTimeout |
clearImmediate |
import("node:timers").clearImmediate |
clearInterval |
import("node:timers").clearInterval |
clearTimeout |
import("node:timers").clearTimeout |
This package does not include the following globals:
module
exports
This package is intended to be used in Deno and Node.js projects where certain globals (made popular in the CJS era) are not available. This package targets only ESM modules, since it serves no purpose in the CommonJS ecosystem.
For added convenience and compatibility, it also creates a global require
function using the built-in createRequire
function from node:module
, with a
base URL of import.meta.url
.
This is a side-effects-based package that provides no exports. Simply import it and the changes will take effect, with the necessary type definitions being augmented into the global types of the workspace it is used in.
npm i @brlt/globals
# or bun add @brlt/globals, pnpm add @brlt/globals, etc.
import "@brlt/globals";
console.log(__dirname);
// ^? var __dirname: string
MIT © Nicholas Berlette. All rights reserved.