diff --git a/build/vite/setup-dev.ts b/build/vite/setup-dev.ts index c1df4861082..8f1f997599c 100644 --- a/build/vite/setup-dev.ts +++ b/build/vite/setup-dev.ts @@ -6,13 +6,25 @@ /// import { enableHotReload } from '../../src/vs/base/common/hotReload.ts'; -import { InstantiationType, registerSingleton } from '../../src/vs/platform/instantiation/common/extensions.ts'; +import { getSingletonServiceDescriptors, InstantiationType, registerSingleton } from '../../src/vs/platform/instantiation/common/extensions.ts'; import { IWebWorkerService } from '../../src/vs/platform/webWorker/browser/webWorkerService.ts'; // eslint-disable-next-line local/code-no-standalone-editor import { StandaloneWebWorkerService } from '../../src/vs/editor/standalone/browser/services/standaloneWebWorkerService.ts'; enableHotReload(); + registerSingleton(IWebWorkerService, StandaloneWebWorkerService, InstantiationType.Eager); +const descriptors = getSingletonServiceDescriptors(); + +// Patch push to ignore future IWebWorkerService registrations. +// This is hot-reload dev only, so it is fine. +const originalPush = descriptors.push; +descriptors.push = function (item: any) { + if (item[0] === IWebWorkerService) { + return this.length; + } + return originalPush.call(this, item); +}; globalThis._VSCODE_DISABLE_CSS_IMPORT_MAP = true; globalThis._VSCODE_USE_RELATIVE_IMPORTS = true; diff --git a/build/vite/workbench-electron.ts b/build/vite/workbench-electron.ts index 49578ca4948..c50d57d1c15 100644 --- a/build/vite/workbench-electron.ts +++ b/build/vite/workbench-electron.ts @@ -3,6 +3,6 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import './setup-dev'; import '../../src/vs/code/electron-browser/workbench/workbench'; +import './setup-dev';