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 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);
});