Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
327 changes: 163 additions & 164 deletions demo/package-lock.json

Large diffs are not rendered by default.

29 changes: 17 additions & 12 deletions demo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,18 @@
"preprepare": "patch-package"
},
"devDependencies": {
"@codingame/monaco-vscode-rollup-extension-directory-plugin": "file:../dist/packages/monaco-vscode-rollup-extension-directory-plugin",
"@codingame/monaco-vscode-rollup-vsix-plugin": "file:../dist/packages/monaco-vscode-rollup-vsix-plugin",
"@types/dockerode": "^4.0.1",
"@types/express": "^5.0.6",
"@types/node": "^25.9.3",
"@types/wicg-file-system-access": "^2023.10.7",
"@types/ws": "^8.18.1",
"oxlint": "^1.73.0",
"oxlint": "^1.74.0",
"typescript": "~7.0.2",
"vite": "~8.1.3",
"@codingame/monaco-vscode-rollup-extension-directory-plugin": "file:../dist/packages/monaco-vscode-rollup-extension-directory-plugin",
"@codingame/monaco-vscode-rollup-vsix-plugin": "file:../dist/packages/monaco-vscode-rollup-vsix-plugin"
"vite": "~8.1.3"
},
"dependencies": {
"ansi-colors": "^4.1.3",
"dockerode": "^5.0.1",
"express": "^5.2.1",
"ws": "^8.21.0",
"@codingame/monaco-vscode-accessibility-service-override": "file:../dist/packages/monaco-vscode-accessibility-service-override",
"@codingame/monaco-vscode-ai-service-override": "file:../dist/packages/monaco-vscode-ai-service-override",
"@codingame/monaco-vscode-all-default-extensions": "file:../dist/packages/monaco-vscode-all-default-extensions",
Expand Down Expand Up @@ -61,13 +57,11 @@
"@codingame/monaco-vscode-docker-default-extension": "file:../dist/packages/monaco-vscode-docker-default-extension",
"@codingame/monaco-vscode-dotenv-default-extension": "file:../dist/packages/monaco-vscode-dotenv-default-extension",
"@codingame/monaco-vscode-edit-sessions-service-override": "file:../dist/packages/monaco-vscode-edit-sessions-service-override",
"monaco-editor": "file:../dist/packages/monaco-vscode-editor-api",
"@codingame/monaco-vscode-editor-service-override": "file:../dist/packages/monaco-vscode-editor-service-override",
"@codingame/monaco-vscode-emmet-default-extension": "file:../dist/packages/monaco-vscode-emmet-default-extension",
"@codingame/monaco-vscode-emmet-service-override": "file:../dist/packages/monaco-vscode-emmet-service-override",
"@codingame/monaco-vscode-environment-service-override": "file:../dist/packages/monaco-vscode-environment-service-override",
"@codingame/monaco-vscode-explorer-service-override": "file:../dist/packages/monaco-vscode-explorer-service-override",
"vscode": "file:../dist/packages/monaco-vscode-extension-api",
"@codingame/monaco-vscode-extension-editing-default-extension": "file:../dist/packages/monaco-vscode-extension-editing-default-extension",
"@codingame/monaco-vscode-extension-gallery-service-override": "file:../dist/packages/monaco-vscode-extension-gallery-service-override",
"@codingame/monaco-vscode-extensions-service-override": "file:../dist/packages/monaco-vscode-extensions-service-override",
Expand Down Expand Up @@ -214,9 +208,20 @@
"@codingame/monaco-vscode-xml-default-extension": "file:../dist/packages/monaco-vscode-xml-default-extension",
"@codingame/monaco-vscode-xterm-addons-common": "file:../dist/packages/monaco-vscode-xterm-addons-common",
"@codingame/monaco-vscode-xterm-common": "file:../dist/packages/monaco-vscode-xterm-common",
"@codingame/monaco-vscode-yaml-default-extension": "file:../dist/packages/monaco-vscode-yaml-default-extension"
"@codingame/monaco-vscode-yaml-default-extension": "file:../dist/packages/monaco-vscode-yaml-default-extension",
"ansi-colors": "^4.1.3",
"dockerode": "^5.0.1",
"express": "^5.2.1",
"monaco-editor": "file:../dist/packages/monaco-vscode-editor-api",
"vscode": "file:../dist/packages/monaco-vscode-extension-api",
"ws": "^8.21.1"
},
"volta": {
"extends": "../package.json"
},
"allowScripts": {
"cpu-features@0.0.10": true,
"protobufjs@7.6.3": true,
"ssh2@1.17.0": true
}
}
}
3 changes: 2 additions & 1 deletion demo/src/setup.common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,8 @@ export const constructOptions: IWorkbenchConstructionOptions = {
controlUrl: '',
nlsBaseUrl: ''
}
}
},
enabledExtensions: ['codingame.demo-main', 'codingame.demo']
}

export const envOptions: EnvironmentOverride = {
Expand Down
65 changes: 0 additions & 65 deletions monaco-patches/0001-fix-preserve-modules.patch

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Subject: [PATCH] fix: properly render relative paths
1 file changed, 7 insertions(+)

diff --git a/build/esm/rollup-url-to-module-plugin/index.mjs b/build/esm/rollup-url-to-module-plugin/index.mjs
index 8a0168bd..cb21f92a 100644
index 52641abf..7e2ec860 100644
--- a/build/esm/rollup-url-to-module-plugin/index.mjs
+++ b/build/esm/rollup-url-to-module-plugin/index.mjs
@@ -9,6 +9,13 @@
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Mangeonjean?= <loic@coderpad.io>
Date: Thu, 7 May 2026 15:35:50 +0200
Date: Mon, 20 Jul 2026 17:31:01 +0200
Subject: [PATCH] feat: support configuring worker options

and also use cross-origin compatible worker
---
src/common/workers.ts | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
src/internal/common/workers.ts | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/common/workers.ts b/src/common/workers.ts
index 94bbc257..8394dd36 100644
--- a/src/common/workers.ts
+++ b/src/common/workers.ts
@@ -52,12 +52,25 @@ if (
diff --git a/src/internal/common/workers.ts b/src/internal/common/workers.ts
index 94bbc257..19df6b15 100644
--- a/src/internal/common/workers.ts
+++ b/src/internal/common/workers.ts
@@ -52,12 +52,22 @@ if (
});
}

Expand All @@ -31,14 +31,11 @@ index 94bbc257..8394dd36 100644
interface IMonacoEnvironment {
getWorker?(moduleId: string, label: string): Worker | Promise<Worker>;
getWorkerUrl?(moduleId: string, label: string): string;
+ /**
+ * Return the options for web worker scripts.
+ */
+ getWorkerOptions?(moduleId: string, label: string): WorkerOptions | undefined;
}
const monacoEnvironment: IMonacoEnvironment | undefined = (globalThis as any).MonacoEnvironment;
if (monacoEnvironment) {
@@ -66,9 +79,10 @@ function getWorker(descriptor: { label: string; moduleId: string; createWorker?:
@@ -66,9 +76,10 @@ function getWorker(descriptor: { label: string; moduleId: string; createWorker?:
}
if (typeof monacoEnvironment.getWorkerUrl === 'function') {
const workerUrl = monacoEnvironment.getWorkerUrl('workerMain.js', label);
Expand Down

This file was deleted.

42 changes: 42 additions & 0 deletions monaco-patches/0003-fix-properly-wait-for-worker-to-be-ready.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Mangeonjean?= <loic@coderpad.io>
Date: Tue, 21 Jul 2026 16:41:38 +0200
Subject: [PATCH] fix: properly wait for worker to be ready

---
src/internal/common/workers.ts | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/internal/common/workers.ts b/src/internal/common/workers.ts
index 19df6b15..0f2b73ff 100644
--- a/src/internal/common/workers.ts
+++ b/src/internal/common/workers.ts
@@ -52,6 +52,18 @@ if (
});
}

+function whenESMWorkerReady(worker: Worker): Promise<Worker> {
+ return new Promise<Worker>((resolve, reject) => {
+ worker.onmessage = function (e) {
+ if (e.data.type === 'vscode-worker-ready') {
+ worker.onmessage = null;
+ resolve(worker);
+ }
+ };
+ worker.onerror = reject;
+ });
+}
+
function getWorkerBootstrapUrl(workerScriptUrl: string, workerOptions: WorkerOptions): string {
const blob = new Blob([[
`${workerOptions.type === 'module' ? 'await import' : 'importScripts'}(${JSON.stringify(workerScriptUrl)});`,
@@ -109,7 +121,8 @@ export function createWebWorker<T extends object>(
moduleId: opts.moduleId,
createWorker: opts.createWorker,
})
- ).then((w) => {
+ ).then(async (w) => {
+ await whenESMWorkerReady(w)
w.postMessage('ignore');
w.postMessage(opts.createData);
return w;
Loading
Loading