nandi/oripublic Fork 0
f5c963af3c1597c0274ce4a99705dbd92a7d1cba
Commits
Clone
git clone https://git.rickub.com/nandi/ori.git
git clone ssh://git@rickub.com/nandi/ori.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

forked from bots-garden/ori

monaco-setup.ts · 38 lines · 1.1 KBTypeScript Blame HistoryRaw
✨ Workspace panel, selectors, previews, desktop app, sandbox template, resizable file tree, light/dark theme 76d62ac k33g yesterday1/**
2 * Bundles Monaco with the application instead of the default CDN loader, so
3 * ori keeps working without internet access. Imported only by MonacoViewer,
4 * which is itself lazy-loaded: none of this weight reaches the initial
5 * bundle.
6 */
7
8import { loader } from "@monaco-editor/react";
9import * as monaco from "monaco-editor";
10import editorWorker from "monaco-editor/editor/editor.worker.js?worker";
11import cssWorker from "monaco-editor/language/css/css.worker.js?worker";
12import htmlWorker from "monaco-editor/language/html/html.worker.js?worker";
13import jsonWorker from "monaco-editor/language/json/json.worker.js?worker";
14import tsWorker from "monaco-editor/language/typescript/ts.worker.js?worker";
15
16self.MonacoEnvironment = {
17 getWorker(_workerId: string, label: string) {
18 switch (label) {
19 case "json":
20 return new jsonWorker();
21 case "css":
22 case "scss":
23 case "less":
24 return new cssWorker();
25 case "html":
26 case "handlebars":
27 case "razor":
28 return new htmlWorker();
29 case "typescript":
30 case "javascript":
31 return new tsWorker();
32 default:
33 return new editorWorker();
34 }
35 },
36};
37
38loader.config({ monaco });