diff --git a/lib/common/init.ts b/lib/common/init.ts index d6ad120eb931..a8d266d7f334 100644 --- a/lib/common/init.ts +++ b/lib/common/init.ts @@ -93,20 +93,23 @@ makeElectronModule('electron'); makeElectronModule('electron/common'); if (process.type === 'browser') { makeElectronModule('electron/main'); -} -if (process.type === 'renderer') { +} else if (process.type === 'renderer') { makeElectronModule('electron/renderer'); +} else if (process.type === 'utility') { + makeElectronModule('electron/utility'); } const originalResolveFilename = Module._resolveFilename; -// 'electron/main', 'electron/renderer' and 'electron/common' are module aliases +// 'electron/{common,main,renderer,utility}' are module aliases // of the 'electron' module for TypeScript purposes, i.e., the types for // 'electron/main' consist of only main process modules, etc. It is intentional // that these can be `require()`-ed from both the main process as well as the // renderer process regardless of the names, they're superficial for TypeScript // only. -const electronModuleNames = new Set(['electron', 'electron/main', 'electron/renderer', 'electron/common']); +const electronModuleNames = new Set([ + 'electron', 'electron/main', 'electron/renderer', 'electron/common', 'electron/utility' +]); Module._resolveFilename = function (request, parent, isMain, options) { if (electronModuleNames.has(request)) { return 'electron'; diff --git a/lib/utility/api/net.ts b/lib/utility/api/net.ts index 70228ee0e5f4..8ef93d0e282f 100644 --- a/lib/utility/api/net.ts +++ b/lib/utility/api/net.ts @@ -1,8 +1,7 @@ import { fetchWithSession } from '@electron/internal/browser/api/net-fetch'; import { ClientRequest } from '@electron/internal/common/api/net-client-request'; -import { IncomingMessage } from 'electron/utility'; -import type { ClientRequestConstructorOptions } from 'electron/utility'; +import type { ClientRequestConstructorOptions, IncomingMessage } from 'electron/utility'; const { isOnline, resolveHost } = process._linkedBinding('electron_common_net');