Reliably determines if the code is running in Node.js
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.
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.
Electron injects a global process
object in the browser runtime when run with the nodeIntegration: true
option.
$ npm install is-node-process
# or
$ yarn add is-node-process
// any/code.js
const { isNodeProcess } = require('is-node-process')
isNodeProcess() // true/false