monaco-languageclient
Advanced tools
Comparing version 8.2.0 to 8.3.0
@@ -5,2 +5,7 @@ # Changelog | ||
## [8.3.0] - 2024-04-10 | ||
- Updated to version `4.2.1` of `@codingame/monaco-vscode` packages | ||
- Introduce new export `tools` exposing the `Logger` migrated here from `monaco-editor-wrapper` | ||
## [8.2.0] - 2024-04-10 | ||
@@ -7,0 +12,0 @@ |
@@ -5,2 +5,3 @@ import * as monaco from 'monaco-editor'; | ||
import type { LocalizationOptions } from '@codingame/monaco-vscode-localization-service-override'; | ||
import { Logger } from '../tools/index.js'; | ||
export interface MonacoEnvironmentEnhanced extends monaco.Environment { | ||
@@ -20,5 +21,11 @@ vscodeInitialising?: boolean; | ||
}>; | ||
export declare const reportServiceLoading: (services: monaco.editor.IEditorOverrideServices, debugLogging: boolean) => void; | ||
export declare const reportServiceLoading: (services: monaco.editor.IEditorOverrideServices, logger?: Logger) => 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>; | ||
export type InitServicesInstruction = { | ||
serviceConfig?: InitializeServiceConfig; | ||
caller?: string; | ||
performChecks?: () => boolean; | ||
logger?: Logger; | ||
}; | ||
export declare const initServices: (instruction: InitServicesInstruction) => Promise<void>; | ||
/** | ||
@@ -35,3 +42,3 @@ * monaco-vscode-api automatically loads the following services: | ||
*/ | ||
export declare const importAllServices: (config?: InitializeServiceConfig, performChecks?: () => boolean) => Promise<void>; | ||
export declare const importAllServices: (instruction: InitServicesInstruction) => Promise<void>; | ||
/** | ||
@@ -38,0 +45,0 @@ * Enable ext host to run in a worker |
@@ -11,2 +11,3 @@ /* -------------------------------------------------------------------------------------------- | ||
import { FakeWorker as Worker } from './fakeWorker.js'; | ||
import { Logger } from '../tools/index.js'; | ||
export const initEnhancedMonacoEnvironment = () => { | ||
@@ -32,7 +33,5 @@ const monWin = self; | ||
}; | ||
export const reportServiceLoading = (services, debugLogging) => { | ||
export const reportServiceLoading = (services, logger) => { | ||
for (const serviceName of Object.keys(services)) { | ||
if (debugLogging) { | ||
console.log(`Loading service: ${serviceName}`); | ||
} | ||
logger?.debug(`Loading service: ${serviceName}`); | ||
} | ||
@@ -45,19 +44,20 @@ }; | ||
}; | ||
export const initServices = async (config, caller, performChecks) => { | ||
export const initServices = async (instruction) => { | ||
const envEnhanced = initEnhancedMonacoEnvironment(); | ||
// in case debugLogging is set and for whatever reason no logger is passed a proper one is created | ||
if (instruction.serviceConfig?.debugLogging === true && !instruction.logger) { | ||
instruction.logger = new Logger({ | ||
enabled: true, | ||
debugEnabled: true | ||
}); | ||
} | ||
if (!envEnhanced.vscodeInitialising) { | ||
if (envEnhanced.vscodeApiInitialised) { | ||
if (config?.debugLogging === true) { | ||
console.log('Initialization of vscode services can only performed once!'); | ||
} | ||
instruction.logger?.debug('Initialization of vscode services can only performed once!'); | ||
} | ||
else { | ||
envEnhanced.vscodeInitialising = true; | ||
if (config?.debugLogging === true) { | ||
console.log(`Initializing vscode services. Caller: ${caller ?? 'unknown'}`); | ||
} | ||
await importAllServices(config, performChecks); | ||
if (config?.debugLogging === true) { | ||
console.log('Initialization of vscode services completed successfully.'); | ||
} | ||
instruction.logger?.debug(`Initializing vscode services. Caller: ${instruction.caller ?? 'unknown'}`); | ||
await importAllServices(instruction); | ||
instruction.logger?.debug('Initialization of vscode services completed successfully.'); | ||
envEnhanced.vscodeApiInitialised = true; | ||
@@ -78,10 +78,10 @@ } | ||
*/ | ||
export const importAllServices = async (config, performChecks) => { | ||
const lc = config ?? {}; | ||
export const importAllServices = async (instruction) => { | ||
const lc = instruction.serviceConfig ?? {}; | ||
const userServices = lc.userServices ?? {}; | ||
const lcRequiredServices = await supplyRequiredServices(); | ||
mergeServices(lcRequiredServices, userServices); | ||
await configureExtHostWorker(config?.enableExtHostWorker === true, userServices); | ||
reportServiceLoading(userServices, lc.debugLogging === true); | ||
if (performChecks === undefined || performChecks()) { | ||
await configureExtHostWorker(instruction.serviceConfig?.enableExtHostWorker === true, userServices); | ||
reportServiceLoading(userServices, instruction.logger); | ||
if (instruction.performChecks === undefined || instruction.performChecks()) { | ||
await initialize(userServices); | ||
@@ -88,0 +88,0 @@ const logLevel = lc.workspaceConfig?.developmentOptions?.logLevel; |
{ | ||
"name": "monaco-languageclient", | ||
"version": "8.2.0", | ||
"version": "8.3.0", | ||
"description": "Monaco Language client implementation", | ||
@@ -27,2 +27,6 @@ "author": { | ||
}, | ||
"./tools": { | ||
"types": "./lib/tools/index.d.ts", | ||
"default": "./lib/tools/index.js" | ||
}, | ||
"./vscode/services": { | ||
@@ -38,2 +42,5 @@ "types": "./lib/vscode/services.d.ts", | ||
], | ||
"tools": [ | ||
"lib/tools/index" | ||
], | ||
"vscode/services": [ | ||
@@ -49,3 +56,3 @@ "lib/vscode/services" | ||
"volta": { | ||
"node": "20.12.0", | ||
"node": "20.12.2", | ||
"npm": "10.5.0" | ||
@@ -61,13 +68,13 @@ }, | ||
"dependencies": { | ||
"@codingame/monaco-vscode-extensions-service-override": "~4.1.2", | ||
"@codingame/monaco-vscode-languages-service-override": "~4.1.2", | ||
"@codingame/monaco-vscode-localization-service-override": "~4.1.2", | ||
"@codingame/monaco-vscode-model-service-override": "~4.1.2", | ||
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~4.1.2", | ||
"vscode": "npm:@codingame/monaco-vscode-api@~4.1.2", | ||
"@codingame/monaco-vscode-extensions-service-override": "~4.2.1", | ||
"@codingame/monaco-vscode-languages-service-override": "~4.2.1", | ||
"@codingame/monaco-vscode-localization-service-override": "~4.2.1", | ||
"@codingame/monaco-vscode-model-service-override": "~4.2.1", | ||
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~4.2.1", | ||
"vscode": "npm:@codingame/monaco-vscode-api@~4.2.1", | ||
"vscode-languageclient": "~9.0.1" | ||
}, | ||
"peerDependencies": { | ||
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~4.1.2", | ||
"vscode": "npm:@codingame/monaco-vscode-api@~4.1.2" | ||
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~4.2.1", | ||
"vscode": "npm:@codingame/monaco-vscode-api@~4.2.1" | ||
}, | ||
@@ -74,0 +81,0 @@ "peerDependenciesMeta": { |
@@ -15,2 +15,3 @@ /* -------------------------------------------------------------------------------------------- | ||
import { FakeWorker as Worker } from './fakeWorker.js'; | ||
import { Logger } from '../tools/index.js'; | ||
@@ -52,7 +53,5 @@ export interface MonacoEnvironmentEnhanced extends monaco.Environment { | ||
export const reportServiceLoading = (services: monaco.editor.IEditorOverrideServices, debugLogging: boolean) => { | ||
export const reportServiceLoading = (services: monaco.editor.IEditorOverrideServices, logger?: Logger) => { | ||
for (const serviceName of Object.keys(services)) { | ||
if (debugLogging) { | ||
console.log(`Loading service: ${serviceName}`); | ||
} | ||
logger?.debug(`Loading service: ${serviceName}`); | ||
} | ||
@@ -67,19 +66,30 @@ }; | ||
export const initServices = async (config?: InitializeServiceConfig, caller?: string, performChecks?: () => boolean) => { | ||
export type InitServicesInstruction = { | ||
serviceConfig?: InitializeServiceConfig; | ||
caller?: string; | ||
performChecks?: () => boolean; | ||
logger?: Logger; | ||
}; | ||
export const initServices = async (instruction: InitServicesInstruction) => { | ||
const envEnhanced = initEnhancedMonacoEnvironment(); | ||
// in case debugLogging is set and for whatever reason no logger is passed a proper one is created | ||
if (instruction.serviceConfig?.debugLogging === true && !instruction.logger) { | ||
instruction.logger = new Logger({ | ||
enabled: true, | ||
debugEnabled: true | ||
}); | ||
} | ||
if (!envEnhanced.vscodeInitialising) { | ||
if (envEnhanced.vscodeApiInitialised) { | ||
if (config?.debugLogging === true) { | ||
console.log('Initialization of vscode services can only performed once!'); | ||
} | ||
instruction.logger?.debug('Initialization of vscode services can only performed once!'); | ||
} else { | ||
envEnhanced.vscodeInitialising = true; | ||
if (config?.debugLogging === true) { | ||
console.log(`Initializing vscode services. Caller: ${caller ?? 'unknown'}`); | ||
} | ||
await importAllServices(config, performChecks); | ||
if (config?.debugLogging === true) { | ||
console.log('Initialization of vscode services completed successfully.'); | ||
} | ||
instruction.logger?.debug(`Initializing vscode services. Caller: ${instruction.caller ?? 'unknown'}`); | ||
await importAllServices(instruction); | ||
instruction.logger?.debug('Initialization of vscode services completed successfully.'); | ||
envEnhanced.vscodeApiInitialised = true; | ||
@@ -101,4 +111,4 @@ } | ||
*/ | ||
export const importAllServices = async (config?: InitializeServiceConfig, performChecks?: () => boolean) => { | ||
const lc: InitializeServiceConfig = config ?? {}; | ||
export const importAllServices = async (instruction: InitServicesInstruction) => { | ||
const lc: InitializeServiceConfig = instruction.serviceConfig ?? {}; | ||
const userServices: monaco.editor.IEditorOverrideServices = lc.userServices ?? {}; | ||
@@ -109,6 +119,7 @@ | ||
mergeServices(lcRequiredServices, userServices); | ||
await configureExtHostWorker(config?.enableExtHostWorker === true, userServices); | ||
reportServiceLoading(userServices, lc.debugLogging === true); | ||
await configureExtHostWorker(instruction.serviceConfig?.enableExtHostWorker === true, userServices); | ||
if (performChecks === undefined || performChecks()) { | ||
reportServiceLoading(userServices, instruction.logger); | ||
if (instruction.performChecks === undefined || instruction.performChecks()) { | ||
await initialize(userServices); | ||
@@ -115,0 +126,0 @@ const logLevel = lc.workspaceConfig?.developmentOptions?.logLevel; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
64928
24
562
+ Added@codingame/monaco-vscode-api@4.2.1(transitive)
+ Added@codingame/monaco-vscode-base-service-override@4.2.1(transitive)
+ Added@codingame/monaco-vscode-editor-api@4.2.1(transitive)
+ Added@codingame/monaco-vscode-environment-service-override@4.2.1(transitive)
+ Added@codingame/monaco-vscode-extensions-service-override@4.2.1(transitive)
+ Added@codingame/monaco-vscode-files-service-override@4.2.1(transitive)
+ Added@codingame/monaco-vscode-host-service-override@4.2.1(transitive)
+ Added@codingame/monaco-vscode-languages-service-override@4.2.1(transitive)
+ Added@codingame/monaco-vscode-layout-service-override@4.2.1(transitive)
+ Added@codingame/monaco-vscode-localization-service-override@4.2.1(transitive)
+ Added@codingame/monaco-vscode-model-service-override@4.2.1(transitive)
+ Added@codingame/monaco-vscode-quickaccess-service-override@4.2.1(transitive)
- Removed@codingame/monaco-vscode-api@4.1.2(transitive)
- Removed@codingame/monaco-vscode-base-service-override@4.1.2(transitive)
- Removed@codingame/monaco-vscode-editor-api@4.1.2(transitive)
- Removed@codingame/monaco-vscode-environment-service-override@4.1.2(transitive)
- Removed@codingame/monaco-vscode-extensions-service-override@4.1.2(transitive)
- Removed@codingame/monaco-vscode-files-service-override@4.1.2(transitive)
- Removed@codingame/monaco-vscode-host-service-override@4.1.2(transitive)
- Removed@codingame/monaco-vscode-languages-service-override@4.1.2(transitive)
- Removed@codingame/monaco-vscode-layout-service-override@4.1.2(transitive)
- Removed@codingame/monaco-vscode-localization-service-override@4.1.2(transitive)
- Removed@codingame/monaco-vscode-model-service-override@4.1.2(transitive)
- Removed@codingame/monaco-vscode-quickaccess-service-override@4.1.2(transitive)
Updated@codingame/monaco-vscode-extensions-service-override@~4.2.1
Updated@codingame/monaco-vscode-languages-service-override@~4.2.1
Updated@codingame/monaco-vscode-localization-service-override@~4.2.1
Updated@codingame/monaco-vscode-model-service-override@~4.2.1
Updatedmonaco-editor@npm:@codingame/monaco-vscode-editor-api@~4.2.1