From ba20dd6f2fe4fb2c1ea92bf13679b3d416f250b2 Mon Sep 17 00:00:00 2001 From: Shantur Rathore Date: Tue, 10 Feb 2026 11:04:16 +0000 Subject: [PATCH] fix(ui): ensure Monaco editor CSS loads --- packages/ui/src/lib/monaco/setup.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/ui/src/lib/monaco/setup.ts b/packages/ui/src/lib/monaco/setup.ts index f28fb2ee..54131c52 100644 --- a/packages/ui/src/lib/monaco/setup.ts +++ b/packages/ui/src/lib/monaco/setup.ts @@ -51,6 +51,20 @@ function ensureLoaderScript(): Promise { }) } +function ensureEditorCss(): void { + if (typeof document === "undefined") return + const existing = document.querySelector('link[data-monaco-editor-css="true"]') + if (existing) return + + // Some environments don't reliably load `vs/css!` plugin resources. + // Loading the core stylesheet explicitly keeps Monaco visible. + const link = document.createElement("link") + link.rel = "stylesheet" + link.href = `${LOCAL_VS_ROOT}/editor/editor.main.css` + ;(link as any).dataset.monacoEditorCss = "true" + document.head.appendChild(link) +} + function configureWorkers() { const globalAny = globalThis as any const prevEnv = globalAny.MonacoEnvironment ?? {} @@ -140,6 +154,7 @@ export async function loadMonaco(): Promise { monacoPromise = (async () => { await ensureLoaderScript() configureWorkers() + ensureEditorCss() const online = await canReachCdn() const requireConfig = getRequireConfig()