is-node-process

Reliably determines if the code is running in Node.js

Usage no npm install needed!

<script type="module">
  import isNodeProcess from 'https://cdn.skypack.dev/is-node-process';
</script>

README

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