mirror of
https://github.com/github/codeql-action.git
synced 2025-12-27 01:30:10 +08:00
36 lines
1002 B
Markdown
36 lines
1002 B
Markdown
[](https://www.npmjs.com/package/is-node-process)
|
|
|
|
# `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
|
|
|
|
```sh
|
|
$ npm install is-node-process
|
|
# or
|
|
$ yarn add is-node-process
|
|
```
|
|
|
|
```js
|
|
// any/code.js
|
|
const { isNodeProcess } = require('is-node-process')
|
|
isNodeProcess() // true/false
|
|
```
|