Profile
Back to NewsBack
GitHub Trending 2 min
Reader Mode
sindresorhus/globals: Global identifiers from different JavaScript environments

sindresorhus/globals: Global identifiers from different JavaScript environments

11 hours ago

globals

Global identifiers from different JavaScript environments

It's just a JSON file, so you can use it in any environment.

This package is used by ESLint 8 and earlier. For ESLint 9 and later, you should depend on this package directly in your ESLint config.

Install

npm install globals

Usage

import globals from 'globals';

console.log(globals.browser); /* { addEventListener: false, applicationCache: false, ArrayBuffer: false, atob: false, … } */

Each global is given a value of true or false. A value of true indicates that the variable may be overwritten. A value of false indicates that the variable should be considered read-only. This information is used by static analysis tools to flag incorrect behavior. We assume all variables should be false unless we hear otherwise.

For Node.js this package provides two sets of globals:

  • globals.nodeBuiltin: Globals available to all code running in Node.js.
These will usually be available as properties on the globalThis object and include process, Buffer, but not CommonJS arguments like require. See: https://nodejs.org/api/globals.html
  • globals.node: A combination of the globals from nodeBuiltin plus all CommonJS arguments ("CommonJS module scope").
See: https://nodejs.org/api/modules.html#modules_the_module_scope

When analyzing code that is known to run outside of a CommonJS wrapper, for example, JavaScript modules, nodeBuiltin can find accidental CommonJS references.

[!NOTE]
The data is a snapshot committed to the repository, not something read from the runtime at install time. nodeBuiltin is regenerated monthly by the Update workflow against the latest Node.js release, so it describes the newest Node.js rather than the oldest version this package supports. engines.node is the support floor and does not describe the data.
Chat with me