ronaldcurtis / is-node-process

Reliably determines if the code is running in Node.js. Treats Jest, React Native, Electron, and others like Node.js.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Package version

is-node-process

Reliably determines if the code is running in Node.js

Motivation

This library was created to provide a reliable way of determining a Node.js process, taking into account:

  • Browser-like environments (JSDOM);
  • Electron renderer process;
  • React Native runtime.

Why relying on window is a bad idea

There are environments (i.e. JSDOM) that polyfill the global window object and some of its API for the sake of emulating browser-like behaviors, while still remaining a Node.js process.

Why relying on process is a bad idea

Electron injects a global process object in the browser runtime when run with the nodeIntegration: true option.

Getting started

$ npm install is-node-process
# or
$ yarn add is-node-process
// any/code.js
const { isNodeProcess } = require('is-node-process')
isNodeProcess() // true/false

About

Reliably determines if the code is running in Node.js. Treats Jest, React Native, Electron, and others like Node.js.


Languages

Language:TypeScript 95.3%Language:HTML 2.4%Language:JavaScript 2.3%