monaco-languageclient icon indicating copy to clipboard operation
monaco-languageclient copied to clipboard

Monaco Language client dependency mix up

Open d-baranowski opened this issue 1 year ago • 1 comments

vscode-ws-jsonrpc depends on version 8 of vscode-jsonrpc while latest release of @codingame/monaco-languageclient depends on version 6 of vscode-jsonrpc

Examples I find online show the packages acting in unison:

import { listen } from 'vscode-ws-jsonrpc'
import {
  CloseAction,
  createConnection,
  ErrorAction,
  MessageConnection,
  MonacoLanguageClient,
} from '@codingame/monaco-languageclient'
import ReconnectingWebSocket from 'reconnecting-websocket'

const createLanguageClient = (connection: MessageConnection) =>
  new MonacoLanguageClient({
    name: 'Lua Language Client',
    clientOptions: {
      documentSelector: ['lua'],
      // Disable the default error handler.
      errorHandler: {
        error: () => ErrorAction.Continue,
        closed: () => CloseAction.DoNotRestart,
      },
    },
    connectionProvider: {
      get: (errorHandler, closeHandler) =>
        Promise.resolve(
          createConnection(connection, errorHandler, closeHandler)
        ),
    },
  })

export const connectLanguageServer = (url: string) =>
  listen({
    webSocket: new ReconnectingWebSocket(url) as WebSocket,
    onConnection: (connection) => {
      const languageClient = createLanguageClient(connection)
      const disposable = languageClient.start()
      connection.onClose(() => disposable.dispose())
    },
  })

However in the example above I can't install any version of vscode-ws-jsonrpc above 0.2.0 which depends on version 5 of vscode-jsonrpc because all newer versions depend on version 8

Any chance to release a version of @codingame/monaco-languageclient which depends on version 8 of vscode-jsonrpc?

image

d-baranowski avatar Sep 12 '24 10:09 d-baranowski