TypeFox / monaco-languageclient

Repo hosts npm packages for monaco-languageclient, vscode-ws-jsonrpc, monaco-editor-wrapper, @typefox/monaco-editor-react and monaco-languageclient-examples
https://www.npmjs.com/package/monaco-languageclient
MIT License
1.05k stars 178 forks source link

Monaco Language client dependency mix up #744

Open d-baranowski opened 2 weeks ago

d-baranowski commented 2 weeks ago

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

kaisalmen commented 2 weeks ago

Hi @d-baranowski @codingame/monaco-languageclient was only published for a brief amount of time by @CGNonofr before I came back to continue doing maintenance on behalf of TypeFox. The package that is maintained by the two of us is published as: monaco-languageclient This repo contains the code of vscode-ws-jsonrpc and the current version depends on v8 of vscode-jsonrpc. monaco-languageclient does not depend on vscode-ws-jsonrpc, btw. It is required to build an application, but there is no direct dependency. This is for example needed in the monaco-editor-wrapper