electron-process-type
Advanced tools
Comparing version
@@ -6,10 +6,14 @@ export { GetElectronProcessType } from './v1'; | ||
import { ElectronProcessType as ElectronProcessTypeV3 } from './v3'; | ||
import { ElectronProcessType as ElectronProcessTypeV4 } from './v4'; | ||
export declare namespace v1 { | ||
let GetElectronProcessType: () => ElectronProcessTypeV1; | ||
const GetElectronProcessType: () => ElectronProcessTypeV1; | ||
} | ||
export declare namespace v2 { | ||
let GetElectronProcessType: () => ElectronProcessTypeV2; | ||
const GetElectronProcessType: () => ElectronProcessTypeV2; | ||
} | ||
export declare namespace v3 { | ||
let GetElectronProcessType: () => ElectronProcessTypeV3; | ||
const GetElectronProcessType: () => ElectronProcessTypeV3; | ||
} | ||
export declare namespace v4 { | ||
const GetElectronProcessType: () => ElectronProcessTypeV4; | ||
} |
@@ -8,2 +8,3 @@ "use strict"; | ||
const v3_1 = require("./v3"); | ||
const v4_1 = require("./v4"); | ||
var v1; | ||
@@ -21,2 +22,6 @@ (function (v1) { | ||
})(v3 = exports.v3 || (exports.v3 = {})); | ||
var v4; | ||
(function (v4) { | ||
v4.GetElectronProcessType = v4_1.GetElectronProcessType; | ||
})(v4 = exports.v4 || (exports.v4 = {})); | ||
//# sourceMappingURL=electron-process-type.js.map |
@@ -1,2 +0,2 @@ | ||
export declare type ElectronProcessType = 'node' | 'browser' | 'main'; | ||
export declare type ElectronProcessType = 'node' | 'browser' | 'renderer'; | ||
export declare function GetElectronProcessType(): ElectronProcessType; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const electron_process_type_1 = require("../v2/electron-process-type"); | ||
const util = require("../electron-process-type-util"); | ||
function GetElectronProcessType() { | ||
let electronProcessTypeV2 = electron_process_type_1.GetElectronProcessType(); | ||
switch (electronProcessTypeV2) { | ||
case 'main': | ||
const electronProcessType = util.GetElectronProcessType(); | ||
switch (electronProcessType) { | ||
case 'electron-main': | ||
return 'browser'; | ||
default: | ||
return electronProcessTypeV2; | ||
case 'node': | ||
case 'electron-node': | ||
return 'node'; | ||
case 'browser': | ||
return 'renderer'; | ||
} | ||
@@ -12,0 +15,0 @@ } |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const isBrowser = (typeof window !== 'undefined') && (typeof window.document !== 'undefined'); | ||
const util = require("../electron-process-type-util"); | ||
function GetElectronProcessType() { | ||
let electronProcessType = 'node'; | ||
let processType = process.type; | ||
if (processType === 'browser') { | ||
electronProcessType = 'main'; | ||
const electronProcessType = util.GetElectronProcessType(); | ||
switch (electronProcessType) { | ||
case 'electron-main': | ||
return 'main'; | ||
case 'node': | ||
case 'electron-node': | ||
return 'node'; | ||
case 'browser': | ||
return 'renderer'; | ||
} | ||
else if (processType === 'renderer') { | ||
electronProcessType = 'renderer'; | ||
} | ||
else { | ||
electronProcessType = isBrowser ? 'renderer' : 'node'; | ||
} | ||
return electronProcessType; | ||
} | ||
exports.GetElectronProcessType = GetElectronProcessType; | ||
//# sourceMappingURL=electron-process-type.js.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const electron_process_type_1 = require("../v2/electron-process-type"); | ||
const util = require("../electron-process-type-util"); | ||
function GetElectronProcessType() { | ||
let electronProcessTypeV2 = electron_process_type_1.GetElectronProcessType(); | ||
switch (electronProcessTypeV2) { | ||
case 'renderer': | ||
const electronProcessType = util.GetElectronProcessType(); | ||
switch (electronProcessType) { | ||
case 'electron-main': | ||
return 'main'; | ||
case 'node': | ||
case 'electron-node': | ||
return 'node'; | ||
case 'browser': | ||
return 'browser'; | ||
default: | ||
return electronProcessTypeV2; | ||
} | ||
@@ -12,0 +15,0 @@ } |
{ | ||
"name": "electron-process-type", | ||
"version": "2.4.0", | ||
"version": "2.5.0", | ||
"description": "Retrieve the process type running your code : 'node', 'browser' or 'renderer'.", | ||
@@ -41,3 +41,3 @@ "repository": { | ||
"electron-mocha": "^6.0.4", | ||
"mocha": "^4.0.1", | ||
"mocha": "^6.1.3", | ||
"ncp": "^2.0.0", | ||
@@ -47,3 +47,3 @@ "sinon": "^4.0.1", | ||
"tslint-microsoft-contrib": "^4.0.1", | ||
"typescript": "~2.9.2" | ||
"typescript": "^3.4.3" | ||
}, | ||
@@ -61,6 +61,7 @@ "scripts": { | ||
"browserify-test-js": "browserify -o ./test/electron-tests/process-page.bundle.js -x electron ./test/electron-tests/process-page.js", | ||
"test": "npm run test-mocha && npm run test-mocha-main && npm run test-mocha-renderer", | ||
"test-mocha": "mocha test/*-node.test.js --recursive", | ||
"test-mocha-main": "electron-mocha test/*-main.test.js --recursive", | ||
"test-mocha-renderer": "electron-mocha --renderer test/*-renderer.test.js --recursive", | ||
"test": "npm run test-mocha-node && npm run test-mocha-electron-main && npm run test-mocha-electron-node && npm run test-mocha-browser", | ||
"test-mocha-node": "mocha test/*-node.test.js", | ||
"test-mocha-electron-main": "electron-mocha test/*electron-main.test.js", | ||
"test-mocha-electron-node": "electron-mocha test/*electron-node.test.js", | ||
"test-mocha-browser": "electron-mocha --renderer test/*-browser.test.js", | ||
"tsc": "tsc", | ||
@@ -67,0 +68,0 @@ "tslint": "tslint", |
@@ -12,9 +12,12 @@ # electron-process-type | ||
This is a simple helper which returns the process type hosting your code whatever the context : | ||
- 'node' | ||
- 'browser' / 'main' | ||
- 'node' / 'electron-node' (No Electron API available) | ||
- 'browser' / 'main' / 'electron-main' (Electron API available) | ||
- 'renderer' / 'browser' | ||
There are different versions which use either Electron semantic (renderer, main) or Browser semantic (browser, electron-main). | ||
Dependencies | ||
* http://nodejs.org/ | ||
# API | ||
@@ -101,2 +104,28 @@ ## v1/GetElectronProcessType(): 'node' | 'browser' | 'renderer'; | ||
} | ||
``` | ||
``` | ||
## v4/GetElectronProcessType(): 'electron-node' | 'electron-main' | 'browser' | 'node'; | ||
Identify node process running under Electron ('electron-node' / 'electron-main') vs pure node process ('node') | ||
```ts | ||
import * as electronProcessType from 'electron-process-type'; | ||
export function CreateEnvironment(): Environment { | ||
const processType = electronProcessType.v4.GetElectronProcessType(); | ||
switch (processType) { | ||
case 'browser': { | ||
... | ||
break; | ||
} | ||
case 'electron-main': { | ||
... | ||
break; | ||
} | ||
default: { | ||
... | ||
break; | ||
} | ||
} | ||
return localInstance; | ||
} | ||
``` | ||
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
17941
34.13%39
44.44%172
54.95%130
30%