Skip to content

Commit

Permalink
fix: only apply custom loader for electron < 17.3
Browse files Browse the repository at this point in the history
  • Loading branch information
hrueger committed Dec 5, 2022
1 parent 63442d8 commit 1e063a1
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/parent-process/workerPlatform/workerThreads.ts
Expand Up @@ -8,7 +8,16 @@ import * as path from 'path'
const WorkerThreads = getWorkerThreads()

const DEFAULT_ELECTRON_LOADER = path.join(__dirname, '../../js/asar-loader.js')
const isInAsar = Object.prototype.hasOwnProperty.call(process.versions, 'electron') && DEFAULT_ELECTRON_LOADER.match(/.asar(\/|\\)/)
let needsCustomElectronLoader = false;
const electronVersion = (process.versions as any).electron as string;
if (electronVersion && DEFAULT_ELECTRON_LOADER.match(/.asar(\/|\\)/)) {
// we are running in electron and from inside an asar file
// electron versions below 17.3 need this manual loader
const [major, minor] = electronVersion.split('.').map((x) => parseInt(x, 10))
if (major < 17 || (major === 17 && minor < 3)) {
needsCustomElectronLoader = true;
}
}

/** Functions for spawning worker-threads in NodeJS */

Expand All @@ -24,7 +33,7 @@ export class WorkerThread extends WorkerPlatformBase {

// Figure out the loader to use. This is to allow for some environment setup (eg require behaviour modification) before trying to run threadedClass
let loader = process.env.THREADEDCLASS_WORKERTHREAD_LOADER
if (!loader && isInAsar) {
if (!loader && needsCustomElectronLoader) {
loader = DEFAULT_ELECTRON_LOADER
}

Expand Down

0 comments on commit 1e063a1

Please sign in to comment.