From 8d8e763724e8b7a1be7329620b0bde793ddce2ef Mon Sep 17 00:00:00 2001 From: naweiss Date: Mon, 11 May 2026 06:26:08 +0300 Subject: [PATCH] Load monaco editor from local installation --- frontend/package.json | 2 ++ frontend/src/main.tsx | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/frontend/package.json b/frontend/package.json index 23e791f6..95eaed64 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -20,6 +20,7 @@ "format:check": "prettier --check \"src/**/*.{ts,tsx,css}\"", "check": "npm run lint && npm run format:check", "preview": "vite preview", + "postinstall": "mkdir -p public/monaco && cp -r node_modules/monaco-editor/min/vs public/monaco/vs", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", @@ -28,6 +29,7 @@ "dependencies": { "@google/genai": "^0.6.0", "@monaco-editor/react": "^4.7.0", + "monaco-editor": "0.55.1", "@types/react-syntax-highlighter": "^15.5.13", "@wokwi/elements": "1.9.2", "@xterm/addon-fit": "^0.11.0", diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index 0b3dfda4..979be101 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -1,4 +1,5 @@ import { createRoot } from 'react-dom/client'; +import { loader } from '@monaco-editor/react'; import './index.css'; // Side-effect import: initialises i18next BEFORE any component renders so // useTranslation() always resolves against a live instance. Must come @@ -18,6 +19,9 @@ import './components/velxio-components/Bmp280Element'; import './components/velxio-components/EPaperElement'; import App from './App.tsx'; +// Configure monaco-editor for offline use via local static assets +loader.config({ paths: { vs: '/monaco/vs' } }); + createRoot(document.getElementById('root')!).render(); // Optional pro overlay. The `@pro` import resolves to a no-op stub in the