@brlt/globals
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

globals

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.

Features

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.url1
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

Globals not included

This package does not include the following globals:

  • module
  • exports

Motivation

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.

Getting Started

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.

Install

npm i @brlt/globals

# or bun add @brlt/globals, pnpm add @brlt/globals, etc.

Usage

import "@brlt/globals";

console.log(__dirname);
//          ^? var __dirname: string

MIT © Nicholas Berlette. All rights reserved.

  1. Fallback if the preferred value is unavailable in the current environment. 2

Package Sidebar

Install

npm i @brlt/globals

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

13.6 kB

Total Files

5

Last publish

Collaborators

  • nberlette
  • berlette