Socket
Book a DemoInstallSign in
Socket

electron-process-type

Package Overview
Dependencies
Maintainers
2
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

electron-process-type

Retrieve the process type running your code : 'node', 'browser', 'renderer' or 'webworker'.

6.0.0
latest
Source
npmnpm
Version published
Weekly downloads
32
-3.03%
Maintainers
2
Weekly downloads
 
Created
Source

JavaScript Execution Context (electron-process-type)

A function which returns the execution environment of your code.

Detect the engine which is executing your code:

  • NodeJS runtime
  • Browser runtime
  • Electron runtime

detect which are the environments / API(s) available :

  • NodeJS
  • Browser
  • Worker
  • Electron
RuntimeNodeBrowserElectron
NodeJS APINode.js processElectron Node.js process
Browser APIBrowserElectron Renderer or preload
Worker APIWorkerThreadWebWorkerElectron Worker
Electron APIElectron preloadElectron main process

Worker, ServiceWorker, SharedWorker detection is still experimental/partial

This API works in any kind of processes (not only Electron): Electron, Node, Browser, ...

In Electron, the detection uses the Electron API process.type but there is some limitations.
It does not work properly in following contexts :

  • in a node process
  • in a renderer when Chromium is in sandbox (--enable-sandbox=true)
  • in a renderer when Renderer is in sandbox=true
  • in a renderer when nodeIntegration=false
  • in preload file of a renderer

Dependencies

API

function GetExecutionContext(): ExecutionContext;

export enum ExecutionContext {
    Undefined         = 0,
    Node              = NodeEnv | NodeRuntime,
    Browser           = BrowserEnv | BrowserRuntime,
    WebWorker         = WorkerEnv | BrowserRuntime,
    WorkerThread      = WorkerEnv | NodeRuntime,
    ElectronWorker    = WorkerEnv | ElectronRuntime,
    ElectronNode      = NodeEnv | ElectronRuntime,
    ElectronRenderer  = BrowserEnv | ElectronRuntime,
    ElectronPreload   = BrowserEnv | ElectronEnv | ElectronRuntime,
    ElectronMain      = NodeEnv | ElectronEnv | ElectronRuntime
}

return the current execution context.

function IsContextNode(): boolean

Check if you are running in a NodeJS context: pure NodeJS process, Electron NodeJS process, Electron Main NodeJS process.

function IsContextBrowser(): boolean;

Check if you are running in a Browser (Navigator) context: pure Browser, Electron browser.

function IsContextWorker(): boolean;

Check if you are running in a Worker.

function IsProcessElectron(): boolean;

Check if you are running in a Electron process: Electron NodeJS process, Electron Main NodeJS process, Electron browser.

Keywords

process

FAQs

Package last updated on 22 Dec 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.