From 34a756ae2e8351de82915602917f25d4415ea978 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Tue, 20 Aug 2024 17:51:26 +0200 Subject: [PATCH] esm - worker cleanup (#226064) --- build/gulpfile.vscode.js | 2 +- build/lib/optimize.js | 1 - build/lib/optimize.ts | 2 -- src/buildfile.js | 2 ++ .../electron-sandbox/profileAnalysisWorkerService.ts | 2 +- .../codeEditor/browser/workbenchEditorWorkerService.ts | 2 +- .../notebook/browser/services/notebookWorkerServiceImpl.ts | 2 +- src/vs/workbench/contrib/output/browser/outputLinkProvider.ts | 2 +- .../extensions/worker/webWorkerExtensionHostIframe.esm.html | 4 ++-- .../browser/languageDetectionWorkerServiceImpl.ts | 2 +- src/vs/workbench/services/search/browser/searchService.ts | 2 +- .../threadedBackgroundTokenizerFactory.ts | 2 +- 12 files changed, 12 insertions(+), 13 deletions(-) diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js index 7f884986b10..8d15015f9b9 100644 --- a/build/gulpfile.vscode.js +++ b/build/gulpfile.vscode.js @@ -325,7 +325,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op version += '-' + quality; } - if (isESM() && quality !== 'exploration') { + if (isESM() && typeof quality === 'string' && quality !== 'exploration') { // TODO@esm remove this safeguard throw new Error('Refuse to build ESM on quality other than exploration'); } diff --git a/build/lib/optimize.js b/build/lib/optimize.js index 3a2206ffdc0..fdf738576c2 100644 --- a/build/lib/optimize.js +++ b/build/lib/optimize.js @@ -204,7 +204,6 @@ function optimizeESMTask(opts, cjsOpts) { if (cjsOpts) { cjsOpts.entryPoints.forEach(entryPoint => entryPoints.push({ name: path.parse(entryPoint).name })); } - entryPoints.push({ name: 'vs/base/worker/workerMain' }); // TODO@esm remove hardcoded entry point when workers are cleaned up const allMentionedModules = new Set(); for (const entryPoint of entryPoints) { allMentionedModules.add(entryPoint.name); diff --git a/build/lib/optimize.ts b/build/lib/optimize.ts index e70f2de9261..c7503213456 100644 --- a/build/lib/optimize.ts +++ b/build/lib/optimize.ts @@ -282,8 +282,6 @@ function optimizeESMTask(opts: IOptimizeAMDTaskOpts, cjsOpts?: IOptimizeCommonJS cjsOpts.entryPoints.forEach(entryPoint => entryPoints.push({ name: path.parse(entryPoint).name })); } - entryPoints.push({ name: 'vs/base/worker/workerMain' }); // TODO@esm remove hardcoded entry point when workers are cleaned up - const allMentionedModules = new Set(); for (const entryPoint of entryPoints) { allMentionedModules.add(entryPoint.name); diff --git a/src/buildfile.js b/src/buildfile.js index a9d1f4c9a1b..5ac5381695b 100644 --- a/src/buildfile.js +++ b/src/buildfile.js @@ -38,6 +38,7 @@ function createEditorWorkerModuleDescription(name) { return [amdVariant, esmVariant]; } +// TODO@esm take the editor simple worker top level and rename away from "base" exports.base = [ { name: 'vs/editor/common/services/editorSimpleWorker', @@ -57,6 +58,7 @@ exports.base = [ { name: 'vs/base/common/worker/simpleWorker', exclude: [], + target: 'amd' } ]; diff --git a/src/vs/platform/profiling/electron-sandbox/profileAnalysisWorkerService.ts b/src/vs/platform/profiling/electron-sandbox/profileAnalysisWorkerService.ts index 1f308faa5f5..433200a8b00 100644 --- a/src/vs/platform/profiling/electron-sandbox/profileAnalysisWorkerService.ts +++ b/src/vs/platform/profiling/electron-sandbox/profileAnalysisWorkerService.ts @@ -49,7 +49,7 @@ class ProfileAnalysisWorkerService implements IProfileAnalysisWorkerService { const worker = createWebWorker( 'vs/platform/profiling/electron-sandbox/profileAnalysisWorker', - 'CpuProfileAnalysis' + 'CpuProfileAnalysisWorker' ); try { diff --git a/src/vs/workbench/contrib/codeEditor/browser/workbenchEditorWorkerService.ts b/src/vs/workbench/contrib/codeEditor/browser/workbenchEditorWorkerService.ts index ba3005b0e9b..af972772662 100644 --- a/src/vs/workbench/contrib/codeEditor/browser/workbenchEditorWorkerService.ts +++ b/src/vs/workbench/contrib/codeEditor/browser/workbenchEditorWorkerService.ts @@ -19,7 +19,7 @@ export class WorkbenchEditorWorkerService extends EditorWorkerService { @ILanguageConfigurationService languageConfigurationService: ILanguageConfigurationService, @ILanguageFeaturesService languageFeaturesService: ILanguageFeaturesService, ) { - const workerDescriptor = new WorkerDescriptor('vs/editor/common/services/editorSimpleWorker', 'editorWorkerService'); + const workerDescriptor = new WorkerDescriptor('vs/editor/common/services/editorSimpleWorker', 'TextEditorWorker'); super(workerDescriptor, modelService, configurationService, logService, languageConfigurationService, languageFeaturesService); } } diff --git a/src/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.ts b/src/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.ts index da01847d2c9..f57cd98db1b 100644 --- a/src/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.ts +++ b/src/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.ts @@ -219,7 +219,7 @@ class NotebookWorkerClient extends Disposable { try { this._worker = this._register(createWebWorker( 'vs/workbench/contrib/notebook/common/services/notebookSimpleWorker', - 'notebookEditorWorkerService' + 'NotebookEditorWorker' )); } catch (err) { // logOnceWebWorkerWarning(err); diff --git a/src/vs/workbench/contrib/output/browser/outputLinkProvider.ts b/src/vs/workbench/contrib/output/browser/outputLinkProvider.ts index afadcfbcb15..5ac17a4b889 100644 --- a/src/vs/workbench/contrib/output/browser/outputLinkProvider.ts +++ b/src/vs/workbench/contrib/output/browser/outputLinkProvider.ts @@ -99,7 +99,7 @@ class OutputLinkWorkerClient extends Disposable { super(); this._workerClient = this._register(createWebWorker( 'vs/workbench/contrib/output/common/outputLinkComputer', - 'outputLinkComputer' + 'OutputLinkDetectionWorker' )); this._workerTextModelSyncClient = WorkerTextModelSyncClient.create(this._workerClient, modelService); this._initializeBarrier = this._ensureWorkspaceFolders(); diff --git a/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.esm.html b/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.esm.html index bd4ea195337..8b04f62fb9c 100644 --- a/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.esm.html +++ b/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.esm.html @@ -4,7 +4,7 @@ @@ -12,7 +12,7 @@ (function () { const searchParams = new URL(document.location.href).searchParams; const vscodeWebWorkerExtHostId = searchParams.get('vscodeWebWorkerExtHostId') || ''; - const name = searchParams.get('debugged') ? 'DebugWorkerExtensionHost' : 'WorkerExtensionHost'; + const name = searchParams.get('debugged') ? 'DebugExtensionHostWorker' : 'ExtensionHostWorker'; const parentOrigin = searchParams.get('parentOrigin') || window.origin; const salt = searchParams.get('salt'); diff --git a/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.ts b/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.ts index 5df93c29ebf..df2b7aea924 100644 --- a/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.ts +++ b/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.ts @@ -202,7 +202,7 @@ export class LanguageDetectionWorkerClient extends Disposable { if (!this.worker) { const workerClient = this._register(createWebWorker( 'vs/workbench/services/languageDetection/browser/languageDetectionSimpleWorker', - 'languageDetectionWorkerService' + 'LanguageDetectionWorker' )); LanguageDetectionWorkerHost.setChannel(workerClient, { $getIndexJsUri: async () => this.getIndexJsUri(), diff --git a/src/vs/workbench/services/search/browser/searchService.ts b/src/vs/workbench/services/search/browser/searchService.ts index d6fb8cc49b1..162301a2742 100644 --- a/src/vs/workbench/services/search/browser/searchService.ts +++ b/src/vs/workbench/services/search/browser/searchService.ts @@ -185,7 +185,7 @@ export class LocalFileSearchWorkerClient extends Disposable implements ISearchRe try { this._worker = this._register(createWebWorker( 'vs/workbench/services/search/worker/localFileSearch', - 'localFileSearchWorker' + 'LocalFileSearchWorker' )); LocalFileSearchSimpleWorkerHost.setChannel(this._worker, { $sendTextSearchMatch: (match, queryId) => { diff --git a/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.ts b/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.ts index 487f5b19f63..d1f658a0fcb 100644 --- a/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.ts +++ b/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.ts @@ -139,7 +139,7 @@ export class ThreadedBackgroundTokenizerFactory implements IDisposable { }; const worker = this._worker = createWebWorker( 'vs/workbench/services/textMate/browser/backgroundTokenization/worker/textMateTokenizationWorker.worker', - 'textMateWorker' + 'TextMateWorker' ); TextMateWorkerHost.setChannel(worker, { $readFile: async (_resource: UriComponents): Promise => {