From a643f39ab99f23da86653b73956fac2645f84fdd Mon Sep 17 00:00:00 2001 From: Saulius Skliutas <24278440+saskliutas@users.noreply.github.com> Date: Wed, 18 Dec 2024 11:25:09 +0200 Subject: [PATCH] Fix monaco editor (#176) * Use built in vite workers support for monaco workers * Remove unused scope --- app/frontend/package.json | 1 - app/frontend/src/app/App.tsx | 2 +- app/frontend/src/index.tsx | 13 +++++++++++++ app/frontend/vite.config.mts | 4 ---- pnpm-lock.yaml | 12 ------------ 5 files changed, 14 insertions(+), 18 deletions(-) diff --git a/app/frontend/package.json b/app/frontend/package.json index 7360b7c..8261e49 100644 --- a/app/frontend/package.json +++ b/app/frontend/package.json @@ -73,7 +73,6 @@ "tslib": "^2.8.1", "typescript": "^5.7.2", "vite": "^6.0.2", - "vite-plugin-monaco-editor": "1.1.0", "vite-plugin-static-copy": "^2.2.0" } } diff --git a/app/frontend/src/app/App.tsx b/app/frontend/src/app/App.tsx index 1a66d59..a013f95 100644 --- a/app/frontend/src/app/App.tsx +++ b/app/frontend/src/app/App.tsx @@ -57,7 +57,7 @@ const AuthorizationProvider = clientId redirect_uri: "/auth/callback", silent_redirect_uri: "/auth/silent", post_logout_redirect_uri: "/", - scope: "itwin-platform itwinjs openid profile", + scope: "itwin-platform openid profile", }) : (props: React.PropsWithChildren) => <>{props.children}; diff --git a/app/frontend/src/index.tsx b/app/frontend/src/index.tsx index 7705c43..8392993 100644 --- a/app/frontend/src/index.tsx +++ b/app/frontend/src/index.tsx @@ -4,10 +4,23 @@ *--------------------------------------------------------------------------------------------*/ import "./index.scss"; +import editorWorker from "monaco-editor/esm/vs/editor/editor.worker?worker"; +import jsonWorker from "monaco-editor/esm/vs/language/json/json.worker?worker"; import { createRoot } from "react-dom/client"; import { BrowserRouter } from "react-router-dom"; import { App } from "./app/App.js"; +// setup environment for monaco editor +// loading only json and default workers as other languages are not used. +self.MonacoEnvironment = { + getWorker(_, label) { + if (label === "json") { + return new jsonWorker(); + } + return new editorWorker(); + }, +}; + const div = document.createElement("div"); div.className = "app"; document.body.appendChild(div); diff --git a/app/frontend/vite.config.mts b/app/frontend/vite.config.mts index 9fa1028..eac17dc 100644 --- a/app/frontend/vite.config.mts +++ b/app/frontend/vite.config.mts @@ -4,7 +4,6 @@ *--------------------------------------------------------------------------------------------*/ import { defineConfig, loadEnv } from "vite"; -import monacoEditorPlugin from "vite-plugin-monaco-editor"; import { viteStaticCopy } from "vite-plugin-static-copy"; import react from "@vitejs/plugin-react"; @@ -24,9 +23,6 @@ export default defineConfig(({ mode }) => { }, ], }), - monacoEditorPlugin.default({ - languageWorkers: ["json"], - }), ], server: { port: 3000, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 01f0e32..3079746 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -311,9 +311,6 @@ importers: vite: specifier: ^6.0.2 version: 6.0.3(@types/node@20.17.10)(sass@1.83.0)(tsx@4.19.2) - vite-plugin-monaco-editor: - specifier: 1.1.0 - version: 1.1.0(monaco-editor@0.52.2) vite-plugin-static-copy: specifier: ^2.2.0 version: 2.2.0(vite@6.0.3(@types/node@20.17.10)(sass@1.83.0)(tsx@4.19.2)) @@ -4161,11 +4158,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vite-plugin-monaco-editor@1.1.0: - resolution: {integrity: sha512-IvtUqZotrRoVqwT0PBBDIZPNraya3BxN/bfcNfnxZ5rkJiGcNtO5eAOWWSgT7zullIAEqQwxMU83yL9J5k7gww==} - peerDependencies: - monaco-editor: '>=0.33.0' - vite-plugin-static-copy@2.2.0: resolution: {integrity: sha512-ytMrKdR9iWEYHbUxs6x53m+MRl4SJsOSoMu1U1+Pfg0DjPeMlsRVx3RR5jvoonineDquIue83Oq69JvNsFSU5w==} engines: {node: ^18.0.0 || >=20.0.0} @@ -8475,10 +8467,6 @@ snapshots: vary@1.1.2: {} - vite-plugin-monaco-editor@1.1.0(monaco-editor@0.52.2): - dependencies: - monaco-editor: 0.52.2 - vite-plugin-static-copy@2.2.0(vite@6.0.3(@types/node@20.17.10)(sass@1.83.0)(tsx@4.19.2)): dependencies: chokidar: 3.6.0