mirror of
https://github.com/geekgeekrun/geekgeekrun.git
synced 2026-09-09 01:17:06 +08:00
fix the issue that import external-node-runtime-dependencies in worker threads will throw error due to it cannot access electron module - the import path in worker threads will not rely on electron
This commit is contained in:
+19
-6
@@ -9,7 +9,7 @@ import {
|
|||||||
removeLastUsedAndAvailableBrowserPath
|
removeLastUsedAndAvailableBrowserPath
|
||||||
} from '../browser-history'
|
} from '../browser-history'
|
||||||
import { getExecutableFileVersion } from '@geekgeekrun/utils/windows-only/file.mjs'
|
import { getExecutableFileVersion } from '@geekgeekrun/utils/windows-only/file.mjs'
|
||||||
import CheckAndLocateExistedChromiumExecutableWorker from './worker/find-and-locate-existed-chromium-executable?nodeWorker&url'
|
import createCheckAndLocateExistedChromiumExecutableWorker from './worker/find-and-locate-existed-chromium-executable?nodeWorker&url'
|
||||||
import { type Worker, isMainThread } from 'node:worker_threads'
|
import { type Worker, isMainThread } from 'node:worker_threads'
|
||||||
|
|
||||||
const getPuppeteerManagerModule = async () => {
|
const getPuppeteerManagerModule = async () => {
|
||||||
@@ -29,8 +29,12 @@ const getPuppeteerManagerModule = async () => {
|
|||||||
)
|
)
|
||||||
).puppeteerManager
|
).puppeteerManager
|
||||||
} else {
|
} else {
|
||||||
// TODO: Run from worker
|
puppeteerManager = (
|
||||||
debugger
|
await import(
|
||||||
|
'file://' +
|
||||||
|
path.join(__dirname, '../../..', '/external-node-runtime-dependencies/index.mjs')
|
||||||
|
)
|
||||||
|
).puppeteerManager
|
||||||
}
|
}
|
||||||
|
|
||||||
return puppeteerManager
|
return puppeteerManager
|
||||||
@@ -185,8 +189,12 @@ export async function findAndLocateUserInstalledChromiumExecutableSync(): Promis
|
|||||||
)
|
)
|
||||||
).findChromeBin.findChrome
|
).findChromeBin.findChrome
|
||||||
} else {
|
} else {
|
||||||
// TODO: Run from worker
|
findChrome = (
|
||||||
debugger
|
await import(
|
||||||
|
'file://' +
|
||||||
|
path.join(__dirname, '../../..', '/external-node-runtime-dependencies/index.mjs')
|
||||||
|
)
|
||||||
|
).findChromeBin.findChrome
|
||||||
}
|
}
|
||||||
const targetBrowser = await findChrome({
|
const targetBrowser = await findChrome({
|
||||||
min: exceptChromiumMainVersion
|
min: exceptChromiumMainVersion
|
||||||
@@ -202,7 +210,12 @@ export async function findAndLocateUserInstalledChromiumExecutableSync(): Promis
|
|||||||
|
|
||||||
export async function findAndLocateUserInstalledChromiumExecutable(): Promise<BrowserInfo> {
|
export async function findAndLocateUserInstalledChromiumExecutable(): Promise<BrowserInfo> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const worker: Worker = new CheckAndLocateExistedChromiumExecutableWorker()
|
const worker: Worker = createCheckAndLocateExistedChromiumExecutableWorker({
|
||||||
|
env: {
|
||||||
|
...process.env,
|
||||||
|
RESOURCES_PATH: process.resourcesPath
|
||||||
|
}
|
||||||
|
})
|
||||||
worker.once('message', (data) => {
|
worker.once('message', (data) => {
|
||||||
if (data.type === 'RESULT') {
|
if (data.type === 'RESULT') {
|
||||||
resolve(data.data)
|
resolve(data.data)
|
||||||
|
|||||||
Reference in New Issue
Block a user