From 9989bff4e63ccbd6ba29ffd25af427110b0eca9e Mon Sep 17 00:00:00 2001 From: Slinetrac Date: Fri, 13 Mar 2026 17:33:25 +0800 Subject: [PATCH] refactor(monaco): simplify editor worker bootstrap (#6500) --- src/utils/monaco.ts | 44 ++++++++++++++++++-------------------------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/src/utils/monaco.ts b/src/utils/monaco.ts index 662f0b4cd..13b9ade6b 100644 --- a/src/utils/monaco.ts +++ b/src/utils/monaco.ts @@ -5,34 +5,26 @@ import cssWorker from "monaco-editor/esm/vs/language/css/css.worker?worker"; import tsWorker from "monaco-editor/esm/vs/language/typescript/ts.worker?worker"; import yamlWorker from "monaco-yaml/yaml.worker?worker"; -if (typeof self !== "undefined") { - const globalScope = self as typeof self & { - MonacoEnvironment?: { - getWorker: (workerId: string, label: string) => Worker; - }; - }; - - globalScope.MonacoEnvironment = { - getWorker(_workerId: string, label: string) { - switch (label) { - case "css": - case "less": - case "scss": - return new cssWorker(); - case "typescript": - case "javascript": - return new tsWorker(); - case "yaml": - return new yamlWorker(); - default: - return new editorWorker(); - } - }, - }; -} +self.MonacoEnvironment = { + getWorker(_, label) { + switch (label) { + case "css": + case "less": + case "scss": + return new cssWorker(); + case "typescript": + case "javascript": + return new tsWorker(); + case "yaml": + return new yamlWorker(); + default: + return new editorWorker(); + } + }, +}; loader.config({ monaco }); -void loader.init().catch((error: unknown) => { +loader.init().catch((error) => { console.error("[monaco] Monaco initialization failed:", error); });