Skip to content

Commit a5000b1

Browse files
authored
feat: update @codingame/monaco-vscode-api to version 23.2.2 (#5642)
1 parent 90f59b1 commit a5000b1

File tree

8 files changed

+474
-588
lines changed

8 files changed

+474
-588
lines changed

.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@ REACT_APP_VERSION=$npm_package_version
1818

1919
REACT_APP_APIDOM_WORKER_PATH=./src/plugins/editor-monaco-language-apidom/language/apidom.worker.js
2020
REACT_APP_APIDOM_WORKER_FILENAME=./apidom.worker.js
21-
REACT_APP_EDITOR_WORKER_PATH=./node_modules/monaco-editor/esm/vs/editor/editor.worker.js
21+
REACT_APP_EDITOR_WORKER_PATH=./node_modules/monaco-editor/esm/vs/editor/editor.worker.start.js
2222
REACT_APP_EDITOR_WORKER_FILENAME=./editor.worker.js

docs/customization/plug-points/editor-monaco-language-apidom.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ By default, this configuration looks like this:
1111
completionProviders: [],
1212
performanceLogs: false,
1313
logLevel: apidomLS.LogLevel.WARN,
14-
defaultContentLanguage: {
15-
namespace: 'asyncapi',
16-
},
1714
completionContext: {
1815
maxNumberOfItems: 100,
1916
enableLSPFilter: false,

package-lock.json

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

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
"@asyncapi/parser": "3.4.0",
7474
"@asyncapi/protobuf-schema-parser": "3.6.0",
7575
"@asyncapi/react-component": "2.6.5",
76-
"@codingame/monaco-vscode-api": "=15.0.3",
76+
"@codingame/monaco-vscode-api": "=23.2.2",
7777
"@emotion/react": "^11.14.0",
7878
"@emotion/styled": "^11.14.0",
7979
"@mui/material": "^5.16.9",
@@ -106,7 +106,7 @@
106106
"js-file-download": "^0.4.12",
107107
"js-yaml": "4.1.1",
108108
"lodash": "^4.17.21",
109-
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@=15.0.3",
109+
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@=23.2.2",
110110
"monaco-marker-data-provider": "^1.2.4",
111111
"prop-types": "^15.8.1",
112112
"react": ">=17 <19",
@@ -121,7 +121,7 @@
121121
"styled-components": "^6.1.17",
122122
"swagger-ui-react": "^5.30.3",
123123
"util": "^0.12.5",
124-
"vscode": "npm:@codingame/monaco-vscode-extension-api@=15.0.3",
124+
"vscode": "npm:@codingame/monaco-vscode-extension-api@=23.2.2",
125125
"vscode-languageclient": "=10.0.0-next.7",
126126
"vscode-languageserver-textdocument": "^1.0.12"
127127
},

src/plugins/editor-monaco-language-apidom/language/ApiDOMWorker.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ export class ApiDOMWorker {
1111
completionProviders: [],
1212
performanceLogs: false,
1313
logLevel: apidomLS.LogLevel.WARN,
14-
defaultContentLanguage: {
15-
namespace: 'asyncapi',
16-
},
1714
completionContext: {
1815
maxNumberOfItems: 100,
1916
enableLSPFilter: false, // enables "strict" word filtering (instead of default Monaco fuzzy matching; https://github.com/swagger-api/apidom/pull/2954)

src/plugins/editor-monaco-language-apidom/language/apidom.worker.js

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,45 @@
1-
import { initialize } from 'monaco-editor/esm/vs/editor/editor.worker.js';
1+
import { start } from 'monaco-editor/esm/vs/editor/editor.worker.start.js';
22

33
import { makeCreate, ApiDOMWorker } from './ApiDOMWorker.js';
44

55
const create = makeCreate(ApiDOMWorker);
66

7+
/*
8+
* SPDX-SnippetBegin
9+
* SPDX-License-Identifier: MIT
10+
* SPDX-SnippetCopyrightText: Copyright (c) 2022 CodinGame
11+
*
12+
* Copy of previous workaround removed in
13+
* https://github.com/CodinGame/monaco-vscode-api/commit/d3fcbe903edf7151d4ca67467465a4fbb305747c
14+
* TODO: Investigate and remove if possible during the next @codingame/monaco-vscode-api dependency update
15+
*/
16+
const initialize = () => {
17+
start((context) => {
18+
let requestHandler;
19+
return new Proxy(
20+
{},
21+
{
22+
get(_target, propKey) {
23+
if (propKey === '$initialize') {
24+
return async (data) => {
25+
if (!requestHandler) {
26+
requestHandler = create(context, data);
27+
}
28+
};
29+
}
30+
const value = requestHandler?.[propKey];
31+
32+
if (typeof value === 'function') {
33+
return value.bind(requestHandler);
34+
}
35+
return value;
36+
},
37+
}
38+
);
39+
});
40+
};
41+
// SPDX-SnippetEnd
42+
743
globalThis.onmessage = () => {
844
initialize((ctx, createData) => {
945
return create(ctx, createData);

src/plugins/editor-monaco/after-load.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import { initialize as initializeMonacoServices } from '@codingame/monaco-vscode-api';
1+
import { initialize as initializeMonacoServices, ILogService } from '@codingame/monaco-vscode-api';
22
import 'vscode/localExtensionHost';
33

44
import lazyMonacoContribution from './monaco-contribution/index.js';
5+
import CustomLogger from './monaco-contribution/CustomLogger.js';
56

67
function afterLoad(system) {
78
const InitPhase = {
@@ -36,7 +37,9 @@ function afterLoad(system) {
3637

3738
(async () => {
3839
try {
39-
await initializeMonacoServices({});
40+
await initializeMonacoServices({
41+
[ILogService.toString()]: new CustomLogger(),
42+
});
4043
system.monacoInitializationDeferred().resolve();
4144
} catch (error) {
4245
system.monacoInitializationDeferred().reject(error);
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import {
2+
ConsoleLogger,
3+
LogLevel,
4+
} from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log';
5+
6+
class CustomLogger extends ConsoleLogger {
7+
constructor() {
8+
super(process.env.NODE_ENV === 'development' ? LogLevel.Info : LogLevel.Warning);
9+
}
10+
}
11+
12+
export default CustomLogger;

0 commit comments

Comments
 (0)