refactor(monaco): simplify editor worker bootstrap (#6500)

This commit is contained in:
Slinetrac 2026-03-13 17:33:25 +08:00 committed by GitHub
parent ece1862fae
commit 9989bff4e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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 tsWorker from "monaco-editor/esm/vs/language/typescript/ts.worker?worker";
import yamlWorker from "monaco-yaml/yaml.worker?worker"; import yamlWorker from "monaco-yaml/yaml.worker?worker";
if (typeof self !== "undefined") { self.MonacoEnvironment = {
const globalScope = self as typeof self & { getWorker(_, label) {
MonacoEnvironment?: { switch (label) {
getWorker: (workerId: string, label: string) => Worker; case "css":
}; case "less":
}; case "scss":
return new cssWorker();
globalScope.MonacoEnvironment = { case "typescript":
getWorker(_workerId: string, label: string) { case "javascript":
switch (label) { return new tsWorker();
case "css": case "yaml":
case "less": return new yamlWorker();
case "scss": default:
return new cssWorker(); return new editorWorker();
case "typescript": }
case "javascript": },
return new tsWorker(); };
case "yaml":
return new yamlWorker();
default:
return new editorWorker();
}
},
};
}
loader.config({ monaco }); loader.config({ monaco });
void loader.init().catch((error: unknown) => { loader.init().catch((error) => {
console.error("[monaco] Monaco initialization failed:", error); console.error("[monaco] Monaco initialization failed:", error);
}); });