monaco-languageclient 10.4.0 → 10.5.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  All notable changes to this npm module are documented in this file.
4
4
 
5
+ ## [10.5.0] - 2025-12-22
6
+
7
+ - Updated all `@codingame/monaco-vscode` packages to `24.1.1`.
8
+
5
9
  ## [10.4.0] - 2025-11-26
6
10
 
7
11
  - Use flags to trigger behaviour [#997](https://github.com/TypeFox/monaco-languageclient/pull/997).
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/vscode/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,qCAAqC,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAGnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,eAAO,MAAM,4BAA4B,iCAgBxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,wFAIhC,CAAC;AAEF,eAAO,MAAM,aAAa,iIAMzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,sGAYlC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,UAG/B,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/vscode/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,qCAAqC,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,eAAO,MAAM,4BAA4B,iCAgBxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,wFAIhC,CAAC;AAEF,eAAO,MAAM,aAAa,iIAMzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,sGAQlC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,UAG/B,CAAC"}
@@ -4,7 +4,6 @@
4
4
  * ------------------------------------------------------------------------------------------ */
5
5
  import * as monaco from '@codingame/monaco-vscode-editor-api';
6
6
  import getExtensionServiceOverride from '@codingame/monaco-vscode-extensions-service-override';
7
- import { FakeWorker as Worker } from 'monaco-languageclient/workerFactory';
8
7
  export const getEnhancedMonacoEnvironment = () => {
9
8
  if (typeof MonacoEnvironment === 'undefined') {
10
9
  globalThis.MonacoEnvironment = {};
@@ -38,13 +37,10 @@ export const mergeServices = (overrideServices, services) => {
38
37
  */
39
38
  export const configureExtHostWorker = async (enableExtHostWorker, userServices) => {
40
39
  if (enableExtHostWorker) {
41
- const fakeWorker = new Worker(new URL('@codingame/monaco-vscode-api/workers/extensionHost.worker', import.meta.url), { type: 'module' });
42
- const workerConfig = {
43
- url: fakeWorker.url.toString(),
44
- options: fakeWorker.options
45
- };
46
40
  mergeServices(userServices, {
47
- ...getExtensionServiceOverride(workerConfig),
41
+ ...getExtensionServiceOverride({
42
+ enableWorkerExtensionHost: true
43
+ })
48
44
  });
49
45
  }
50
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/vscode/utils.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,MAAM,MAAM,qCAAqC,CAAC;AAG9D,OAAO,2BAA2B,MAAM,sDAAsD,CAAC;AAE/F,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAG3E,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAA8B,EAAE,CAAC;IACzE,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE,CAAC;QAC3C,UAAU,CAAC,iBAAiB,GAAG,EAAE,CAAC;IACtC,CAAC;IACD,MAAM,WAAW,GAAG,iBAA8C,CAAC;IACnE,IAAI,WAAW,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAClD,WAAW,CAAC,qBAAqB,GAAG,KAAK,CAAC;IAC9C,CAAC;IACD,IAAI,WAAW,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACjD,WAAW,CAAC,oBAAoB,GAAG,KAAK,CAAC;IAC7C,CAAC;IACD,IAAI,WAAW,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC5C,WAAW,CAAC,eAAe,GAAG,eAAe,CAAC;IAClD,CAAC;IAED,OAAO,WAAW,CAAC;AAAA,CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAA+C,EAAE,MAAe,EAAE,EAAE,CAAC;IACtG,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,KAAK,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;IACrD,CAAC;AAAA,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,gBAAuD,EAAE,QAAgD,EAAE,EAAE,CAAC;IACxI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QACrC,CAAC;IACL,CAAC;AAAA,CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,mBAA4B,EAAE,YAAmD,EAAE,EAAE,CAAC;IAC/H,IAAI,mBAAmB,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,2DAA2D,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzI,MAAM,YAAY,GAAiB;YAC/B,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,UAAU,CAAC,OAAO;SAC9B,CAAC;QAEF,aAAa,CAAC,YAAY,EAAE;YACxB,GAAG,2BAA2B,CAAC,YAAY,CAAC;SAC/C,CAAC,CAAC;IACP,CAAC;AAAA,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAe,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAe,EAAE,EAAE,CAAC;IACnG,MAAM,EAAE,IAAI,CAAC,6CAA6C,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3F,OAAO,SAAS,CAAC;AAAA,CACpB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/vscode/utils.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,MAAM,MAAM,qCAAqC,CAAC;AAE9D,OAAO,2BAA2B,MAAM,sDAAsD,CAAC;AAI/F,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAA8B,EAAE,CAAC;IACzE,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE,CAAC;QAC3C,UAAU,CAAC,iBAAiB,GAAG,EAAE,CAAC;IACtC,CAAC;IACD,MAAM,WAAW,GAAG,iBAA8C,CAAC;IACnE,IAAI,WAAW,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAClD,WAAW,CAAC,qBAAqB,GAAG,KAAK,CAAC;IAC9C,CAAC;IACD,IAAI,WAAW,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACjD,WAAW,CAAC,oBAAoB,GAAG,KAAK,CAAC;IAC7C,CAAC;IACD,IAAI,WAAW,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC5C,WAAW,CAAC,eAAe,GAAG,eAAe,CAAC;IAClD,CAAC;IAED,OAAO,WAAW,CAAC;AAAA,CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAA+C,EAAE,MAAe,EAAE,EAAE,CAAC;IACtG,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,KAAK,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;IACrD,CAAC;AAAA,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,gBAAuD,EAAE,QAAgD,EAAE,EAAE,CAAC;IACxI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QACrC,CAAC;IACL,CAAC;AAAA,CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,mBAA4B,EAAE,YAAmD,EAAE,EAAE,CAAC;IAC/H,IAAI,mBAAmB,EAAE,CAAC;QACtB,aAAa,CAAC,YAAY,EAAE;YACxB,GAAG,2BAA2B,CAAC;gBAC3B,yBAAyB,EAAE,IAAI;aAClC,CAAC;SACL,CAAC,CAAC;IACP,CAAC;AAAA,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAe,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAe,EAAE,EAAE,CAAC;IACnG,MAAM,EAAE,IAAI,CAAC,6CAA6C,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3F,OAAO,SAAS,CAAC;AAAA,CACpB,CAAC"}
@@ -1,4 +1,15 @@
1
- export * from './fakeWorker.js';
2
- export * from './workerFactory.js';
3
- export * from './workerLoaders.js';
1
+ import type { Logger } from 'monaco-languageclient/common';
2
+ export declare class Worker {
3
+ url: string | URL;
4
+ options?: WorkerOptions;
5
+ constructor(url: string | URL, options?: WorkerOptions);
6
+ }
7
+ export type WorkerLoader = (() => Worker) | undefined;
8
+ export interface WorkerFactoryConfig {
9
+ workerLoaders?: Partial<Record<string, WorkerLoader>>;
10
+ logger?: Logger;
11
+ }
12
+ export declare const useWorkerFactory: (config: WorkerFactoryConfig) => void;
13
+ export declare const defineDefaultWorkerLoaders: () => Partial<Record<string, WorkerLoader>>;
14
+ export declare const configureDefaultWorkerFactory: (logger?: Logger | undefined) => void;
4
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAKA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAE3D,qBAAa,MAAM;IACf,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,YAAY,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa,EAGrD;CACJ;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB,uCAY5B,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAyBlF,CAAC;AAEF,eAAO,MAAM,6BAA6B,uCAKzC,CAAC"}
@@ -2,7 +2,46 @@
2
2
  * Copyright (c) 2025 TypeFox and others.
3
3
  * Licensed under the MIT License. See LICENSE in the package root for license information.
4
4
  * ------------------------------------------------------------------------------------------ */
5
- export * from './fakeWorker.js';
6
- export * from './workerFactory.js';
7
- export * from './workerLoaders.js';
5
+ import { getEnhancedMonacoEnvironment } from 'monaco-languageclient/vscodeApiWrapper';
6
+ export class Worker {
7
+ url;
8
+ options;
9
+ constructor(url, options) {
10
+ this.url = url;
11
+ this.options = options;
12
+ }
13
+ }
14
+ export const useWorkerFactory = (config) => {
15
+ const envEnhanced = getEnhancedMonacoEnvironment();
16
+ envEnhanced.getWorkerUrl = (workerId, label) => {
17
+ config.logger?.info(`getWorkerUrl: workerId: ${workerId} label: ${label}`);
18
+ return config.workerLoaders?.[label]?.().url.toString();
19
+ };
20
+ envEnhanced.getWorkerOptions = (moduleId, label) => {
21
+ config.logger?.info(`getWorkerOptions: moduleId: ${moduleId} label: ${label}`);
22
+ return config.workerLoaders?.[label]?.().options;
23
+ };
24
+ };
25
+ export const defineDefaultWorkerLoaders = () => {
26
+ const defaultEditorWorkerService = () => new Worker(new URL('@codingame/monaco-vscode-editor-api/esm/vs/editor/editor.worker.js', import.meta.url), { type: 'module' });
27
+ const defaultExtensionHostWorkerMain = () => new Worker(new URL('@codingame/monaco-vscode-api/workers/extensionHost.worker', import.meta.url), { type: 'module' });
28
+ const defaultTextMateWorker = () => new Worker(new URL('@codingame/monaco-vscode-textmate-service-override/worker', import.meta.url), { type: 'module' });
29
+ return {
30
+ // if you import monaco api as 'monaco-editor': monaco-editor/esm/vs/editor/editor.worker.js
31
+ editorWorkerService: defaultEditorWorkerService,
32
+ extensionHostWorkerMain: defaultExtensionHostWorkerMain,
33
+ TextMateWorker: defaultTextMateWorker,
34
+ // these are other possible workers not configured by default
35
+ OutputLinkDetectionWorker: undefined,
36
+ LanguageDetectionWorker: undefined,
37
+ NotebookEditorWorker: undefined,
38
+ LocalFileSearchWorker: undefined
39
+ };
40
+ };
41
+ export const configureDefaultWorkerFactory = (logger) => {
42
+ useWorkerFactory({
43
+ workerLoaders: defineDefaultWorkerLoaders(),
44
+ logger
45
+ });
46
+ };
8
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAGtF,MAAM,OAAO,MAAM;IACf,GAAG,CAAe;IAClB,OAAO,CAAiB;IAExB,YAAY,GAAiB,EAAE,OAAuB,EAAE;QACpD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAAA,CAC1B;CACJ;AASD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAA2B,EAAE,EAAE,CAAC;IAC7D,MAAM,WAAW,GAAG,4BAA4B,EAAE,CAAC;IAEnD,WAAW,CAAC,YAAY,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAE,EAAE,CAAC;QAC5D,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,2BAA2B,QAAQ,WAAW,KAAK,EAAE,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAAA,CAC3D,CAAC;IAEF,WAAW,CAAC,gBAAgB,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAE,EAAE,CAAC;QAChE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,+BAA+B,QAAQ,WAAW,KAAK,EAAE,CAAC,CAAC;QAC/E,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;IAAA,CACpD,CAAC;AAAA,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAgD,GAAG,EAAE,CAAC;IACzF,MAAM,0BAA0B,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,CAC/C,IAAI,GAAG,CAAC,oEAAoE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAC9F,EAAE,IAAI,EAAE,QAAQ,EAAE,CACrB,CAAC;IACF,MAAM,8BAA8B,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,CACnD,IAAI,GAAG,CAAC,2DAA2D,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EACrF,EAAE,IAAI,EAAE,QAAQ,EAAE,CACrB,CAAC;IACF,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,CAC1C,IAAI,GAAG,CAAC,2DAA2D,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EACrF,EAAE,IAAI,EAAE,QAAQ,EAAE,CACrB,CAAC;IAEF,OAAO;QACH,4FAA4F;QAC5F,mBAAmB,EAAE,0BAA0B;QAC/C,uBAAuB,EAAE,8BAA8B;QACvD,cAAc,EAAE,qBAAqB;QACrC,6DAA6D;QAC7D,yBAAyB,EAAE,SAAS;QACpC,uBAAuB,EAAE,SAAS;QAClC,oBAAoB,EAAE,SAAS;QAC/B,qBAAqB,EAAE,SAAS;KACnC,CAAC;AAAA,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC;IAC9D,gBAAgB,CAAC;QACb,aAAa,EAAE,0BAA0B,EAAE;QAC3C,MAAM;KACT,CAAC,CAAC;AAAA,CACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monaco-languageclient",
3
- "version": "10.4.0",
3
+ "version": "10.5.0-next.0",
4
4
  "description": "Monaco Language client implementation",
5
5
  "author": {
6
6
  "name": "TypeFox GmbH",
@@ -104,47 +104,47 @@
104
104
  "LICENSE"
105
105
  ],
106
106
  "dependencies": {
107
- "@codingame/monaco-vscode-api": "^23.2.2",
108
- "@codingame/monaco-vscode-configuration-service-override": "^23.2.2",
109
- "@codingame/monaco-vscode-editor-api": "^23.2.2",
110
- "@codingame/monaco-vscode-editor-service-override": "^23.2.2",
111
- "@codingame/monaco-vscode-extensions-service-override": "^23.2.2",
112
- "@codingame/monaco-vscode-extension-api": "^23.2.2",
113
- "@codingame/monaco-vscode-languages-service-override": "^23.2.2",
114
- "@codingame/monaco-vscode-language-pack-cs": "^23.2.2",
115
- "@codingame/monaco-vscode-language-pack-de": "^23.2.2",
116
- "@codingame/monaco-vscode-language-pack-es": "^23.2.2",
117
- "@codingame/monaco-vscode-language-pack-fr": "^23.2.2",
118
- "@codingame/monaco-vscode-language-pack-it": "^23.2.2",
119
- "@codingame/monaco-vscode-language-pack-ja": "^23.2.2",
120
- "@codingame/monaco-vscode-language-pack-ko": "^23.2.2",
121
- "@codingame/monaco-vscode-language-pack-pl": "^23.2.2",
122
- "@codingame/monaco-vscode-language-pack-pt-br": "^23.2.2",
123
- "@codingame/monaco-vscode-language-pack-qps-ploc": "^23.2.2",
124
- "@codingame/monaco-vscode-language-pack-ru": "^23.2.2",
125
- "@codingame/monaco-vscode-language-pack-tr": "^23.2.2",
126
- "@codingame/monaco-vscode-language-pack-zh-hans": "^23.2.2",
127
- "@codingame/monaco-vscode-language-pack-zh-hant": "^23.2.2",
128
- "@codingame/monaco-vscode-localization-service-override": "^23.2.2",
129
- "@codingame/monaco-vscode-log-service-override": "^23.2.2",
130
- "@codingame/monaco-vscode-model-service-override": "^23.2.2",
131
- "@codingame/monaco-vscode-monarch-service-override": "^23.2.2",
132
- "@codingame/monaco-vscode-textmate-service-override": "^23.2.2",
133
- "@codingame/monaco-vscode-theme-defaults-default-extension": "^23.2.2",
134
- "@codingame/monaco-vscode-theme-service-override": "^23.2.2",
135
- "@codingame/monaco-vscode-views-service-override": "^23.2.2",
136
- "@codingame/monaco-vscode-workbench-service-override": "^23.2.2",
137
- "vscode": "npm:@codingame/monaco-vscode-extension-api@^23.2.2",
107
+ "@codingame/monaco-vscode-api": "^24.1.1",
108
+ "@codingame/monaco-vscode-configuration-service-override": "^24.1.1",
109
+ "@codingame/monaco-vscode-editor-api": "^24.1.1",
110
+ "@codingame/monaco-vscode-editor-service-override": "^24.1.1",
111
+ "@codingame/monaco-vscode-extensions-service-override": "^24.1.1",
112
+ "@codingame/monaco-vscode-extension-api": "^24.1.1",
113
+ "@codingame/monaco-vscode-languages-service-override": "^24.1.1",
114
+ "@codingame/monaco-vscode-language-pack-cs": "^24.1.1",
115
+ "@codingame/monaco-vscode-language-pack-de": "^24.1.1",
116
+ "@codingame/monaco-vscode-language-pack-es": "^24.1.1",
117
+ "@codingame/monaco-vscode-language-pack-fr": "^24.1.1",
118
+ "@codingame/monaco-vscode-language-pack-it": "^24.1.1",
119
+ "@codingame/monaco-vscode-language-pack-ja": "^24.1.1",
120
+ "@codingame/monaco-vscode-language-pack-ko": "^24.1.1",
121
+ "@codingame/monaco-vscode-language-pack-pl": "^24.1.1",
122
+ "@codingame/monaco-vscode-language-pack-pt-br": "^24.1.1",
123
+ "@codingame/monaco-vscode-language-pack-qps-ploc": "^24.1.1",
124
+ "@codingame/monaco-vscode-language-pack-ru": "^24.1.1",
125
+ "@codingame/monaco-vscode-language-pack-tr": "^24.1.1",
126
+ "@codingame/monaco-vscode-language-pack-zh-hans": "^24.1.1",
127
+ "@codingame/monaco-vscode-language-pack-zh-hant": "^24.1.1",
128
+ "@codingame/monaco-vscode-localization-service-override": "^24.1.1",
129
+ "@codingame/monaco-vscode-log-service-override": "^24.1.1",
130
+ "@codingame/monaco-vscode-model-service-override": "^24.1.1",
131
+ "@codingame/monaco-vscode-monarch-service-override": "^24.1.1",
132
+ "@codingame/monaco-vscode-textmate-service-override": "^24.1.1",
133
+ "@codingame/monaco-vscode-theme-defaults-default-extension": "^24.1.1",
134
+ "@codingame/monaco-vscode-theme-service-override": "^24.1.1",
135
+ "@codingame/monaco-vscode-views-service-override": "^24.1.1",
136
+ "@codingame/monaco-vscode-workbench-service-override": "^24.1.1",
137
+ "vscode": "npm:@codingame/monaco-vscode-extension-api@^24.1.1",
138
138
  "vscode-languageclient": "~9.0.1",
139
139
  "vscode-languageserver-protocol": "~3.17.5",
140
140
  "vscode-ws-jsonrpc": "~3.5.0"
141
141
  },
142
142
  "devDependencies": {
143
- "@codingame/monaco-vscode-standalone-languages": "^23.2.2",
144
- "@codingame/monaco-vscode-standalone-css-language-features": "^23.2.2",
145
- "@codingame/monaco-vscode-standalone-html-language-features": "^23.2.2",
146
- "@codingame/monaco-vscode-standalone-json-language-features": "^23.2.2",
147
- "@codingame/monaco-vscode-standalone-typescript-language-features": "^23.2.2"
143
+ "@codingame/monaco-vscode-standalone-languages": "^24.1.1",
144
+ "@codingame/monaco-vscode-standalone-css-language-features": "^24.1.1",
145
+ "@codingame/monaco-vscode-standalone-html-language-features": "^24.1.1",
146
+ "@codingame/monaco-vscode-standalone-json-language-features": "^24.1.1",
147
+ "@codingame/monaco-vscode-standalone-typescript-language-features": "^24.1.1"
148
148
  },
149
149
 
150
150
  "scripts": {
@@ -5,10 +5,8 @@
5
5
 
6
6
  import * as monaco from '@codingame/monaco-vscode-editor-api';
7
7
  import type { OpenEditor } from '@codingame/monaco-vscode-editor-service-override';
8
- import type { WorkerConfig } from '@codingame/monaco-vscode-extensions-service-override';
9
8
  import getExtensionServiceOverride from '@codingame/monaco-vscode-extensions-service-override';
10
9
  import type { Logger } from 'monaco-languageclient/common';
11
- import { FakeWorker as Worker } from 'monaco-languageclient/workerFactory';
12
10
  import type { MonacoEnvironmentEnhanced } from './config.js';
13
11
 
14
12
  export const getEnhancedMonacoEnvironment = (): MonacoEnvironmentEnhanced => {
@@ -48,14 +46,10 @@ export const mergeServices = (overrideServices: monaco.editor.IEditorOverrideSer
48
46
  */
49
47
  export const configureExtHostWorker = async (enableExtHostWorker: boolean, userServices: monaco.editor.IEditorOverrideServices) => {
50
48
  if (enableExtHostWorker) {
51
- const fakeWorker = new Worker(new URL('@codingame/monaco-vscode-api/workers/extensionHost.worker', import.meta.url), { type: 'module' });
52
- const workerConfig: WorkerConfig = {
53
- url: fakeWorker.url.toString(),
54
- options: fakeWorker.options
55
- };
56
-
57
49
  mergeServices(userServices, {
58
- ...getExtensionServiceOverride(workerConfig),
50
+ ...getExtensionServiceOverride({
51
+ enableWorkerExtensionHost: true
52
+ })
59
53
  });
60
54
  }
61
55
  };
@@ -3,6 +3,71 @@
3
3
  * Licensed under the MIT License. See LICENSE in the package root for license information.
4
4
  * ------------------------------------------------------------------------------------------ */
5
5
 
6
- export * from './fakeWorker.js';
7
- export * from './workerFactory.js';
8
- export * from './workerLoaders.js';
6
+ import { getEnhancedMonacoEnvironment } from 'monaco-languageclient/vscodeApiWrapper';
7
+ import type { Logger } from 'monaco-languageclient/common';
8
+
9
+ export class Worker {
10
+ url: string | URL;
11
+ options?: WorkerOptions;
12
+
13
+ constructor(url: string | URL, options?: WorkerOptions) {
14
+ this.url = url;
15
+ this.options = options;
16
+ }
17
+ }
18
+
19
+ export type WorkerLoader = (() => Worker) | undefined;
20
+
21
+ export interface WorkerFactoryConfig {
22
+ workerLoaders?: Partial<Record<string, WorkerLoader>>;
23
+ logger?: Logger;
24
+ }
25
+
26
+ export const useWorkerFactory = (config: WorkerFactoryConfig) => {
27
+ const envEnhanced = getEnhancedMonacoEnvironment();
28
+
29
+ envEnhanced.getWorkerUrl = (workerId: string, label: string) => {
30
+ config.logger?.info(`getWorkerUrl: workerId: ${workerId} label: ${label}`);
31
+ return config.workerLoaders?.[label]?.().url.toString();
32
+ };
33
+
34
+ envEnhanced.getWorkerOptions = (moduleId: string, label: string) => {
35
+ config.logger?.info(`getWorkerOptions: moduleId: ${moduleId} label: ${label}`);
36
+ return config.workerLoaders?.[label]?.().options;
37
+ };
38
+ };
39
+
40
+ export const defineDefaultWorkerLoaders: () => Partial<Record<string, WorkerLoader>> = () => {
41
+ const defaultEditorWorkerService = () => new Worker(
42
+ new URL('@codingame/monaco-vscode-editor-api/esm/vs/editor/editor.worker.js', import.meta.url),
43
+ { type: 'module' }
44
+ );
45
+ const defaultExtensionHostWorkerMain = () => new Worker(
46
+ new URL('@codingame/monaco-vscode-api/workers/extensionHost.worker', import.meta.url),
47
+ { type: 'module' }
48
+ );
49
+ const defaultTextMateWorker = () => new Worker(
50
+ new URL('@codingame/monaco-vscode-textmate-service-override/worker', import.meta.url),
51
+ { type: 'module' }
52
+ );
53
+
54
+ return {
55
+ // if you import monaco api as 'monaco-editor': monaco-editor/esm/vs/editor/editor.worker.js
56
+ editorWorkerService: defaultEditorWorkerService,
57
+ extensionHostWorkerMain: defaultExtensionHostWorkerMain,
58
+ TextMateWorker: defaultTextMateWorker,
59
+ // these are other possible workers not configured by default
60
+ OutputLinkDetectionWorker: undefined,
61
+ LanguageDetectionWorker: undefined,
62
+ NotebookEditorWorker: undefined,
63
+ LocalFileSearchWorker: undefined
64
+ };
65
+ };
66
+
67
+ export const configureDefaultWorkerFactory = (logger?: Logger) => {
68
+ useWorkerFactory({
69
+ workerLoaders: defineDefaultWorkerLoaders(),
70
+ logger
71
+ });
72
+ };
73
+
@@ -1,6 +0,0 @@
1
- export declare class FakeWorker {
2
- url: string | URL;
3
- options?: WorkerOptions;
4
- constructor(url: string | URL, options?: WorkerOptions);
5
- }
6
- //# sourceMappingURL=fakeWorker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fakeWorker.d.ts","sourceRoot":"","sources":["../../src/worker/fakeWorker.ts"],"names":[],"mappings":"AAKA,qBAAa,UAAU;IACnB,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,YAAY,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa,EAGrD;CACJ"}
@@ -1,13 +0,0 @@
1
- /* --------------------------------------------------------------------------------------------
2
- * Copyright (c) 2024 TypeFox and others.
3
- * Licensed under the MIT License. See LICENSE in the package root for license information.
4
- * ------------------------------------------------------------------------------------------ */
5
- export class FakeWorker {
6
- url;
7
- options;
8
- constructor(url, options) {
9
- this.url = url;
10
- this.options = options;
11
- }
12
- }
13
- //# sourceMappingURL=fakeWorker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fakeWorker.js","sourceRoot":"","sources":["../../src/worker/fakeWorker.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,MAAM,OAAO,UAAU;IACnB,GAAG,CAAe;IAClB,OAAO,CAAiB;IAExB,YAAY,GAAiB,EAAE,OAAuB,EAAE;QACpD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAAA,CAC1B;CACJ"}
@@ -1,9 +0,0 @@
1
- import type { Logger } from 'monaco-languageclient/common';
2
- export type WorkerLoader = (() => Worker) | undefined;
3
- export interface WorkerFactoryConfig {
4
- workerLoaders?: Record<string, WorkerLoader>;
5
- logger?: Logger;
6
- getWorkerOverride?: (moduleId: string, label: string) => Worker;
7
- }
8
- export declare const useWorkerFactory: (config: WorkerFactoryConfig) => void;
9
- //# sourceMappingURL=workerFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workerFactory.d.ts","sourceRoot":"","sources":["../../src/worker/workerFactory.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACnE;AAED,eAAO,MAAM,gBAAgB,uCAa5B,CAAC"}
@@ -1,18 +0,0 @@
1
- /* --------------------------------------------------------------------------------------------
2
- * Copyright (c) 2024 TypeFox and others.
3
- * Licensed under the MIT License. See LICENSE in the package root for license information.
4
- * ------------------------------------------------------------------------------------------ */
5
- import { getEnhancedMonacoEnvironment } from 'monaco-languageclient/vscodeApiWrapper';
6
- export const useWorkerFactory = (config) => {
7
- const envEnhanced = getEnhancedMonacoEnvironment();
8
- const getWorker = (moduleId, label) => {
9
- config.logger?.info(`getWorker: moduleId: ${moduleId} label: ${label}`);
10
- const workerFunc = config.workerLoaders?.[label] ?? undefined;
11
- if (workerFunc === undefined) {
12
- throw new Error(`Unimplemented worker ${label} (${moduleId})`);
13
- }
14
- return workerFunc();
15
- };
16
- envEnhanced.getWorker = config.getWorkerOverride ?? getWorker;
17
- };
18
- //# sourceMappingURL=workerFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workerFactory.js","sourceRoot":"","sources":["../../src/worker/workerFactory.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAWtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAA2B,EAAE,EAAE,CAAC;IAC7D,MAAM,WAAW,GAAG,4BAA4B,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAE,EAAE,CAAC;QACnD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,wBAAwB,QAAQ,WAAW,KAAK,EAAE,CAAC,CAAC;QAExE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;QAC9D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,UAAU,EAAE,CAAC;IAAA,CACvB,CAAC;IACF,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,iBAAiB,IAAI,SAAS,CAAC;AAAA,CACjE,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { Logger } from 'monaco-languageclient/common';
2
- import { type WorkerLoader } from 'monaco-languageclient/workerFactory';
3
- export declare const defineDefaultWorkerLoaders: () => Record<string, WorkerLoader>;
4
- export declare const configureDefaultWorkerFactory: (logger?: Logger | undefined) => void;
5
- //# sourceMappingURL=workerLoaders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workerLoaders.d.ts","sourceRoot":"","sources":["../../src/worker/workerLoaders.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAE1F,eAAO,MAAM,0BAA0B,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,YAAY,CAoBzE,CAAC;AAEF,eAAO,MAAM,6BAA6B,uCAKzC,CAAC"}
@@ -1,26 +0,0 @@
1
- /* --------------------------------------------------------------------------------------------
2
- * Copyright (c) 2024 TypeFox and others.
3
- * Licensed under the MIT License. See LICENSE in the package root for license information.
4
- * ------------------------------------------------------------------------------------------ */
5
- import { useWorkerFactory } from 'monaco-languageclient/workerFactory';
6
- export const defineDefaultWorkerLoaders = () => {
7
- const defaultTextEditorWorker = () => new Worker(new URL('@codingame/monaco-vscode-editor-api/esm/vs/editor/editor.worker.js', import.meta.url), { type: 'module' });
8
- const defaultTextMateWorker = () => new Worker(new URL('@codingame/monaco-vscode-textmate-service-override/worker', import.meta.url), { type: 'module' });
9
- return {
10
- // if you import monaco api as 'monaco-editor': monaco-editor/esm/vs/editor/editor.worker.js
11
- TextEditorWorker: defaultTextEditorWorker,
12
- TextMateWorker: defaultTextMateWorker,
13
- // these are other possible workers not configured by default
14
- OutputLinkDetectionWorker: undefined,
15
- LanguageDetectionWorker: undefined,
16
- NotebookEditorWorker: undefined,
17
- LocalFileSearchWorker: undefined
18
- };
19
- };
20
- export const configureDefaultWorkerFactory = (logger) => {
21
- useWorkerFactory({
22
- workerLoaders: defineDefaultWorkerLoaders(),
23
- logger
24
- });
25
- };
26
- //# sourceMappingURL=workerLoaders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workerLoaders.js","sourceRoot":"","sources":["../../src/worker/workerLoaders.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,EAAE,gBAAgB,EAAqB,MAAM,qCAAqC,CAAC;AAE1F,MAAM,CAAC,MAAM,0BAA0B,GAAuC,GAAG,EAAE,CAAC;IAChF,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,CAC5C,IAAI,GAAG,CAAC,oEAAoE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAC9F,EAAE,IAAI,EAAE,QAAQ,EAAE,CACrB,CAAC;IACF,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,CAC1C,IAAI,GAAG,CAAC,2DAA2D,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EACrF,EAAE,IAAI,EAAE,QAAQ,EAAE,CACrB,CAAC;IAEF,OAAO;QACH,4FAA4F;QAC5F,gBAAgB,EAAE,uBAAuB;QACzC,cAAc,EAAE,qBAAqB;QACrC,6DAA6D;QAC7D,yBAAyB,EAAE,SAAS;QACpC,uBAAuB,EAAE,SAAS;QAClC,oBAAoB,EAAE,SAAS;QAC/B,qBAAqB,EAAE,SAAS;KACnC,CAAC;AAAA,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC;IAC9D,gBAAgB,CAAC;QACb,aAAa,EAAE,0BAA0B,EAAE;QAC3C,MAAM;KACT,CAAC,CAAC;AAAA,CACN,CAAC"}
@@ -1,14 +0,0 @@
1
- /* --------------------------------------------------------------------------------------------
2
- * Copyright (c) 2024 TypeFox and others.
3
- * Licensed under the MIT License. See LICENSE in the package root for license information.
4
- * ------------------------------------------------------------------------------------------ */
5
-
6
- export class FakeWorker {
7
- url: string | URL;
8
- options?: WorkerOptions;
9
-
10
- constructor(url: string | URL, options?: WorkerOptions) {
11
- this.url = url;
12
- this.options = options;
13
- }
14
- }
@@ -1,30 +0,0 @@
1
- /* --------------------------------------------------------------------------------------------
2
- * Copyright (c) 2024 TypeFox and others.
3
- * Licensed under the MIT License. See LICENSE in the package root for license information.
4
- * ------------------------------------------------------------------------------------------ */
5
-
6
- import { getEnhancedMonacoEnvironment } from 'monaco-languageclient/vscodeApiWrapper';
7
- import type { Logger } from 'monaco-languageclient/common';
8
-
9
- export type WorkerLoader = (() => Worker) | undefined;
10
-
11
- export interface WorkerFactoryConfig {
12
- workerLoaders?: Record<string, WorkerLoader>;
13
- logger?: Logger;
14
- getWorkerOverride?: (moduleId: string, label: string) => Worker;
15
- }
16
-
17
- export const useWorkerFactory = (config: WorkerFactoryConfig) => {
18
- const envEnhanced = getEnhancedMonacoEnvironment();
19
-
20
- const getWorker = (moduleId: string, label: string) => {
21
- config.logger?.info(`getWorker: moduleId: ${moduleId} label: ${label}`);
22
-
23
- const workerFunc = config.workerLoaders?.[label] ?? undefined;
24
- if (workerFunc === undefined) {
25
- throw new Error(`Unimplemented worker ${label} (${moduleId})`);
26
- }
27
- return workerFunc();
28
- };
29
- envEnhanced.getWorker = config.getWorkerOverride ?? getWorker;
30
- };
@@ -1,36 +0,0 @@
1
- /* --------------------------------------------------------------------------------------------
2
- * Copyright (c) 2024 TypeFox and others.
3
- * Licensed under the MIT License. See LICENSE in the package root for license information.
4
- * ------------------------------------------------------------------------------------------ */
5
-
6
- import type { Logger } from 'monaco-languageclient/common';
7
- import { useWorkerFactory, type WorkerLoader } from 'monaco-languageclient/workerFactory';
8
-
9
- export const defineDefaultWorkerLoaders: () => Record<string, WorkerLoader> = () => {
10
- const defaultTextEditorWorker = () => new Worker(
11
- new URL('@codingame/monaco-vscode-editor-api/esm/vs/editor/editor.worker.js', import.meta.url),
12
- { type: 'module' }
13
- );
14
- const defaultTextMateWorker = () => new Worker(
15
- new URL('@codingame/monaco-vscode-textmate-service-override/worker', import.meta.url),
16
- { type: 'module' }
17
- );
18
-
19
- return {
20
- // if you import monaco api as 'monaco-editor': monaco-editor/esm/vs/editor/editor.worker.js
21
- TextEditorWorker: defaultTextEditorWorker,
22
- TextMateWorker: defaultTextMateWorker,
23
- // these are other possible workers not configured by default
24
- OutputLinkDetectionWorker: undefined,
25
- LanguageDetectionWorker: undefined,
26
- NotebookEditorWorker: undefined,
27
- LocalFileSearchWorker: undefined
28
- };
29
- };
30
-
31
- export const configureDefaultWorkerFactory = (logger?: Logger) => {
32
- useWorkerFactory({
33
- workerLoaders: defineDefaultWorkerLoaders(),
34
- logger
35
- });
36
- };