Socket
Socket
Sign inDemoInstall

monaco-languageclient

Package Overview
Dependencies
19
Maintainers
3
Versions
186
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 8.0.0 to 8.1.0

lib/vscode/fakeWorker.d.ts

7

CHANGELOG.md

@@ -5,2 +5,9 @@ # Changelog

## [8.1.0] - 2024-03-22
- Updated to version `3.2.1` of `@codingame/monaco-vscode` packages
- Enhance TypeScript related examples [#611](https://github.com/TypeFox/monaco-languageclient/issues/611)
- It is now possible via **InitializeServiceConfig -> enableExtHostWorker**
- Moved import of 'vscode/localExtensionHost' from the wrapper here to fix independent init
## [8.0.0] - 2024-03-18

@@ -7,0 +14,0 @@

2

lib/index.js
/* --------------------------------------------------------------------------------------------
* Copyright (c) 2024 TypeFox GmbH (http://www.typefox.io). All rights reserved.
* Copyright (c) 2024 TypeFox and others.
* Licensed under the MIT License. See LICENSE in the package root for license information.

@@ -4,0 +4,0 @@ * ------------------------------------------------------------------------------------------ */

@@ -1,4 +0,5 @@

import { editor, Environment } from 'monaco-editor';
import * as monaco from 'monaco-editor';
import 'vscode/localExtensionHost';
import { IWorkbenchConstructionOptions } from 'vscode/services';
export interface MonacoEnvironmentEnhanced extends Environment {
export interface MonacoEnvironmentEnhanced extends monaco.Environment {
vscodeInitialising?: boolean;

@@ -8,3 +9,4 @@ vscodeApiInitialised?: boolean;

export type InitializeServiceConfig = {
userServices?: editor.IEditorOverrideServices;
userServices?: monaco.editor.IEditorOverrideServices;
enableExtHostWorker?: boolean;
debugLogging?: boolean;

@@ -17,4 +19,4 @@ workspaceConfig?: IWorkbenchConstructionOptions;

}>;
export declare const reportServiceLoading: (services: editor.IEditorOverrideServices, debugLogging: boolean) => void;
export declare const mergeServices: (services: editor.IEditorOverrideServices, overrideServices: editor.IEditorOverrideServices) => void;
export declare const reportServiceLoading: (services: monaco.editor.IEditorOverrideServices, debugLogging: boolean) => void;
export declare const mergeServices: (services: monaco.editor.IEditorOverrideServices, overrideServices: monaco.editor.IEditorOverrideServices) => void;
export declare const initServices: (config?: InitializeServiceConfig, caller?: string, performChecks?: () => boolean) => Promise<void>;

@@ -33,2 +35,6 @@ /**

export declare const importAllServices: (config?: InitializeServiceConfig, performChecks?: () => boolean) => Promise<void>;
/**
* Enable ext host to run in a worker
*/
export declare const configureExtHostWorker: (enableExtHostWorker: boolean, userServices: monaco.editor.IEditorOverrideServices) => Promise<void>;
//# sourceMappingURL=services.d.ts.map
/* --------------------------------------------------------------------------------------------
* Copyright (c) 2024 TypeFox GmbH (http://www.typefox.io). All rights reserved.
* Copyright (c) 2024 TypeFox and others.
* Licensed under the MIT License. See LICENSE in the package root for license information.
* ------------------------------------------------------------------------------------------ */
import 'vscode/localExtensionHost';
import { ILogService, initialize, StandaloneServices } from 'vscode/services';
import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-service-override';
import getModelServiceOverride from '@codingame/monaco-vscode-model-service-override';
import { FakeWorker as Worker } from './fakeWorker.js';
export const initEnhancedMonacoEnvironment = () => {

@@ -77,2 +79,3 @@ const monWin = self;

mergeServices(lcRequiredServices, userServices);
await configureExtHostWorker(config?.enableExtHostWorker === true, userServices);
reportServiceLoading(userServices, lc.debugLogging === true);

@@ -87,2 +90,20 @@ if (performChecks === undefined || performChecks()) {

};
/**
* Enable ext host to run in a worker
*/
export const configureExtHostWorker = async (enableExtHostWorker, userServices) => {
if (enableExtHostWorker) {
const fakeWorker = new Worker(new URL('vscode/workers/extensionHost.worker', import.meta.url), { type: 'module' });
const workerConfig = {
url: fakeWorker.url.toString(),
options: fakeWorker.options
};
// import getExtensionServiceOverride from '@codingame/monaco-vscode-extensions-service-override';
const getExtensionServiceOverride = (await import('@codingame/monaco-vscode-extensions-service-override')).default;
const extHostServices = {
...getExtensionServiceOverride(workerConfig),
};
mergeServices(extHostServices, userServices);
}
};
//# sourceMappingURL=services.js.map
{
"name": "monaco-languageclient",
"version": "8.0.0",
"version": "8.1.0",
"description": "Monaco Language client implementation",

@@ -58,11 +58,11 @@ "author": {

"dependencies": {
"@codingame/monaco-vscode-languages-service-override": "~3.1.2",
"@codingame/monaco-vscode-model-service-override": "~3.1.2",
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~3.1.2",
"vscode": "npm:@codingame/monaco-vscode-api@~3.1.2",
"@codingame/monaco-vscode-languages-service-override": "~3.2.2",
"@codingame/monaco-vscode-model-service-override": "~3.2.2",
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~3.2.2",
"vscode": "npm:@codingame/monaco-vscode-api@~3.2.2",
"vscode-languageclient": "~9.0.1"
},
"peerDependencies": {
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~3.1.2",
"vscode": "npm:@codingame/monaco-vscode-api@~3.1.2"
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~3.2.2",
"vscode": "npm:@codingame/monaco-vscode-api@~3.2.2"
},

@@ -69,0 +69,0 @@ "peerDependenciesMeta": {

@@ -35,4 +35,2 @@ # Monaco Language Client

Please check our examples [in the examples overview chapter](https://github.com/TypeFox/monaco-languageclient/tree/main?tab=readme-ov-file#examples-overview) as they demonstrate the usage.
#### textmate and monarch

@@ -49,6 +47,8 @@

See [here](https://github.com/TypeFox/monaco-languageclient/blob/main/README.md) for a detailed documentation.
## Examples
For a detailed list of examples please look at [this section](<https://github.com/TypeFox/monaco-languageclient#examples-overview>) in the main repository.
## License
[MIT](https://github.com/TypeFox/monaco-languageclient/blob/main/packages/client/LICENSE)
/* --------------------------------------------------------------------------------------------
* Copyright (c) 2024 TypeFox GmbH (http://www.typefox.io). All rights reserved.
* Copyright (c) 2024 TypeFox and others.
* Licensed under the MIT License. See LICENSE in the package root for license information.

@@ -4,0 +4,0 @@ * ------------------------------------------------------------------------------------------ */

/* --------------------------------------------------------------------------------------------
* Copyright (c) 2024 TypeFox GmbH (http://www.typefox.io). All rights reserved.
* Copyright (c) 2024 TypeFox and others.
* Licensed under the MIT License. See LICENSE in the package root for license information.
* ------------------------------------------------------------------------------------------ */
import { editor, Environment } from 'monaco-editor';
import * as monaco from 'monaco-editor';
import 'vscode/localExtensionHost';
import { ILogService, initialize, IWorkbenchConstructionOptions, StandaloneServices } from 'vscode/services';
import type { WorkerConfig } from '@codingame/monaco-vscode-extensions-service-override';
import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-service-override';
import getModelServiceOverride from '@codingame/monaco-vscode-model-service-override';
import { FakeWorker as Worker } from './fakeWorker.js';
export interface MonacoEnvironmentEnhanced extends Environment {
export interface MonacoEnvironmentEnhanced extends monaco.Environment {
vscodeInitialising?: boolean;

@@ -17,3 +20,4 @@ vscodeApiInitialised?: boolean;

export type InitializeServiceConfig = {
userServices?: editor.IEditorOverrideServices;
userServices?: monaco.editor.IEditorOverrideServices;
enableExtHostWorker?: boolean;
debugLogging?: boolean;

@@ -46,3 +50,3 @@ workspaceConfig?: IWorkbenchConstructionOptions;

export const reportServiceLoading = (services: editor.IEditorOverrideServices, debugLogging: boolean) => {
export const reportServiceLoading = (services: monaco.editor.IEditorOverrideServices, debugLogging: boolean) => {
for (const serviceName of Object.keys(services)) {

@@ -55,3 +59,3 @@ if (debugLogging) {

export const mergeServices = (services: editor.IEditorOverrideServices, overrideServices: editor.IEditorOverrideServices) => {
export const mergeServices = (services: monaco.editor.IEditorOverrideServices, overrideServices: monaco.editor.IEditorOverrideServices) => {
for (const [name, service] of Object.entries(services)) {

@@ -97,6 +101,8 @@ overrideServices[name] = service;

const lc: InitializeServiceConfig = config ?? {};
const userServices: editor.IEditorOverrideServices = lc.userServices ?? {};
const userServices: monaco.editor.IEditorOverrideServices = lc.userServices ?? {};
const lcRequiredServices = await supplyRequiredServices();
mergeServices(lcRequiredServices, userServices);
await configureExtHostWorker(config?.enableExtHostWorker === true, userServices);
reportServiceLoading(userServices, lc.debugLogging === true);

@@ -112,1 +118,21 @@

};
/**
* Enable ext host to run in a worker
*/
export const configureExtHostWorker = async (enableExtHostWorker: boolean, userServices: monaco.editor.IEditorOverrideServices) => {
if (enableExtHostWorker) {
const fakeWorker = new Worker(new URL('vscode/workers/extensionHost.worker', import.meta.url), { type: 'module' });
const workerConfig: WorkerConfig = {
url: fakeWorker.url.toString(),
options: fakeWorker.options
};
// import getExtensionServiceOverride from '@codingame/monaco-vscode-extensions-service-override';
const getExtensionServiceOverride = (await import('@codingame/monaco-vscode-extensions-service-override')).default;
const extHostServices = {
...getExtensionServiceOverride(workerConfig),
};
mergeServices(extHostServices, userServices);
}
};

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc