Skip to content

Commit 64af661

Browse files
committed
Move workerFactory to monaco-lanuageclient
1 parent b02046c commit 64af661

File tree

30 files changed

+115
-241
lines changed

30 files changed

+115
-241
lines changed

.github/workflows/verify.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,5 @@ jobs:
3636
- name: Execute verification
3737
shell: bash
3838
run: |
39+
bash ./verify/buildPeers.sh
3940
bash ./verify/buildAll.sh

docs/versions-and-history.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ The following table describes which version of **monaco-languageclient** and **@
66

77
| monaco-languageclient | monaco-editor-wrapper | monaco-editor-react | monaco-vscode-api / editor-api | vscode | monaco-editor | release date | comment |
88
| :---- | :---- | :--- | :--- | :--- | :--- | :--- | :--- |
9+
| 9.2.1 | 6.2.1 | 6.2.1 | 13.1.1 | 1.96.4 | 0.52.2 | 2025-01-31 | |
910
| 9.2.0 | 6.2.0 | 6.2.0 | 13.1.1 | 1.96.4 | 0.52.2 | 2025-01-31 | |
1011
| 9.1.1 | 6.1.1 | 6.1.1 | 11.1.2 | 1.95.3 | 0.52.0 | 2025-01-20 | |
1112
| 9.1.0 | 6.1.0 | 6.1.0 | 11.1.2 | 1.95.3 | 0.52.0 | 2025-01-10 | |

package-lock.json

Lines changed: 18 additions & 155 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"@codingame/monaco-vscode-rollup-vsix-plugin": "13.1.1",
1717
"@eslint/eslintrc": "~3.2.0",
1818
"@eslint/js": "~9.19.0",
19-
"@stylistic/eslint-plugin": "~3.0.0",
19+
"@stylistic/eslint-plugin": "~3.0.1",
2020
"@testing-library/react": "~16.2.0",
2121
"@types/node": "~22.12.0",
2222
"@types/react": "~19.0.8",

packages/client/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
All notable changes to this npm module are documented in this file.
44

5+
## [9.2.1] - 2025-01-31
6+
7+
- Moved workerFactory from `monaco-editor-wrapper` to `monaco-languageclient`.
8+
59
## [9.2.0] - 2025-01-31
610

711
- Update to monaco-vscode-api v13 [#836](https://github.com/TypeFox/monaco-languageclient/pull/829)

packages/client/package.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "monaco-languageclient",
3-
"version": "9.2.0",
3+
"version": "9.2.1",
44
"description": "Monaco Language client implementation",
55
"author": {
66
"name": "TypeFox GmbH",
@@ -35,6 +35,10 @@
3535
"./fs": {
3636
"types": "./lib/fs/index.d.ts",
3737
"default": "./lib/fs/index.js"
38+
},
39+
"./workerFactory": {
40+
"types": "./lib/workerFactory.d.ts",
41+
"default": "./lib/workerFactory.js"
3842
}
3943
},
4044
"typesVersions": {
@@ -50,6 +54,9 @@
5054
],
5155
"fs": [
5256
"lib/fs/index"
57+
],
58+
"workerFactory": [
59+
"lib/workerFactory"
5360
]
5461
}
5562
},
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
import { initEnhancedMonacoEnvironment } from 'monaco-languageclient/vscode/services';
77
import { Logger } from 'monaco-languageclient/tools';
88

9-
export type WorkerLoader = () => Worker;
9+
export type WorkerLoader = (() => Worker) | undefined;
1010

1111
export interface WorkerFactoryConfig {
12-
workerLoaders: Partial<Record<string, WorkerLoader>>;
12+
workerLoaders: Record<string, WorkerLoader>;
1313
logger?: Logger;
1414
}
1515

@@ -20,11 +20,12 @@ export const useWorkerFactory = (config: WorkerFactoryConfig) => {
2020
config.logger?.info(`getWorker: moduleId: ${moduleId} label: ${label}`);
2121

2222
const workerFunc = config.workerLoaders[label];
23-
if (workerFunc !== undefined) {
24-
return workerFunc();
25-
} else {
23+
if (workerFunc === undefined) {
2624
throw new Error(`Unimplemented worker ${label} (${moduleId})`);
2725
}
26+
return workerFunc();
2827
};
29-
envEnhanced.getWorker = getWorker;
28+
if (getWorker !== undefined) {
29+
envEnhanced.getWorker = getWorker;
30+
}
3031
};

packages/examples/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
All notable changes to this npm module are documented in this file.
44

5+
## [2025.1.10] - 2025-01-31
6+
7+
- Removed unneeded workers, but kept the names in the default definition without a Worker definition
8+
- Updated to `monaco-languageclient@9.2.1`, `monaco-editor-wrapper@6.2.1` and `@typefox/monaco-editor-react@6.2.1`.
9+
510
## [2025.1.9] - 2025-01-31
611

712
- Update to monaco-vscode-api v13 [#836](https://github.com/TypeFox/monaco-languageclient/pull/829)

packages/examples/package.json

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "monaco-languageclient-examples",
3-
"version": "2025.1.9",
3+
"version": "2025.1.10",
44
"description": "Monaco Language client examples",
55
"author": {
66
"name": "TypeFox GmbH",
@@ -82,11 +82,8 @@
8282
"@codingame/monaco-vscode-javascript-default-extension": "13.1.1",
8383
"@codingame/monaco-vscode-json-default-extension": "13.1.1",
8484
"@codingame/monaco-vscode-keybindings-service-override": "13.1.1",
85-
"@codingame/monaco-vscode-language-detection-worker-service-override": "13.1.1",
8685
"@codingame/monaco-vscode-lifecycle-service-override": "13.1.1",
8786
"@codingame/monaco-vscode-localization-service-override": "13.1.1",
88-
"@codingame/monaco-vscode-notebook-service-override": "13.1.1",
89-
"@codingame/monaco-vscode-output-service-override": "13.1.1",
9087
"@codingame/monaco-vscode-python-default-extension": "13.1.1",
9188
"@codingame/monaco-vscode-remote-agent-service-override": "13.1.1",
9289
"@codingame/monaco-vscode-search-result-default-extension": "13.1.1",
@@ -102,14 +99,14 @@
10299
"@codingame/monaco-vscode-typescript-basics-default-extension": "13.1.1",
103100
"@codingame/monaco-vscode-typescript-language-features-default-extension": "13.1.1",
104101
"@codingame/monaco-vscode-views-service-override": "13.1.1",
105-
"@typefox/monaco-editor-react": "~6.2.0",
102+
"@typefox/monaco-editor-react": "~6.2.1",
106103
"cors": "^2.8.5",
107104
"express": "~4.21.2",
108105
"jszip": "~3.10.1",
109106
"langium": "~3.3.1",
110-
"monaco-editor-wrapper": "~6.2.0",
111-
"monaco-languageclient": "~9.2.0",
112-
"pyright": "~1.1.392",
107+
"monaco-editor-wrapper": "~6.2.1",
108+
"monaco-languageclient": "~9.2.1",
109+
"pyright": "~1.1.393",
113110
"react": "~19.0.0",
114111
"react-dom": "~19.0.0",
115112
"request-light": "~0.8.0",

packages/examples/src/common/client/utils.ts

Lines changed: 21 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import { Uri } from 'vscode';
77
import { Logger } from 'monaco-languageclient/tools';
8-
import { useWorkerFactory } from 'monaco-editor-wrapper/workerFactory';
8+
import { useWorkerFactory, WorkerLoader } from 'monaco-languageclient/workerFactory';
99
import { RegisteredMemoryFile } from '@codingame/monaco-vscode-files-service-override';
1010
import { IStoredWorkspace } from '@codingame/monaco-vscode-configuration-service-override';
1111

@@ -16,35 +16,28 @@ export const disableElement = (id: string, disabled: boolean) => {
1616
}
1717
};
1818

19+
export const defineDefaultWorkerLoaders: () => Record<string, WorkerLoader> = () => {
20+
return {
21+
// if you import monaco api as 'monaco-editor': monaco-editor/esm/vs/editor/editor.worker.js
22+
TextEditorWorker: () => new Worker(
23+
new URL('@codingame/monaco-vscode-editor-api/esm/vs/editor/editor.worker.js', import.meta.url),
24+
{ type: 'module' }
25+
),
26+
TextMateWorker: () => new Worker(
27+
new URL('@codingame/monaco-vscode-textmate-service-override/worker', import.meta.url),
28+
{ type: 'module' }
29+
),
30+
// these are other possible workers not configured by default
31+
OutputLinkDetectionWorker: undefined,
32+
LanguageDetectionWorker: undefined,
33+
NotebookEditorWorker: undefined,
34+
LocalFileSearchWorker: undefined
35+
}
36+
};
37+
1938
export const configureMonacoWorkers = (logger?: Logger) => {
2039
useWorkerFactory({
21-
workerLoaders: {
22-
// if you import monaco api as 'monaco-editor': monaco-editor/esm/vs/editor/editor.worker.js
23-
TextEditorWorker: () => new Worker(
24-
new URL('@codingame/monaco-vscode-editor-api/esm/vs/editor/editor.worker.js', import.meta.url),
25-
{ type: 'module' }
26-
),
27-
TextMateWorker: () => new Worker(
28-
new URL('@codingame/monaco-vscode-textmate-service-override/worker', import.meta.url),
29-
{ type: 'module' }
30-
),
31-
OutputLinkDetectionWorker: () => new Worker(
32-
new URL('@codingame/monaco-vscode-output-service-override/worker', import.meta.url),
33-
{ type: 'module' }
34-
),
35-
LanguageDetectionWorker: () => new Worker(
36-
new URL('@codingame/monaco-vscode-language-detection-worker-service-override/worker', import.meta.url),
37-
{ type: 'module' }
38-
),
39-
NotebookEditorWorker: () => new Worker(
40-
new URL('@codingame/monaco-vscode-notebook-service-override/worker', import.meta.url),
41-
{ type: 'module' }
42-
),
43-
LocalFileSearchWorker: () => new Worker(
44-
new URL('@codingame/monaco-vscode-search-service-override/worker', import.meta.url),
45-
{ type: 'module' }
46-
)
47-
},
40+
workerLoaders: defineDefaultWorkerLoaders(),
4841
logger
4942
});
5043
};

0 commit comments

Comments
 (0)