Skip to content

Commit

Permalink
Merge pull request #409 from TypeFox/update-monaco-0.34
Browse files Browse the repository at this point in the history
Update to monaco 0.34/vscode 1.69
  • Loading branch information
CGNonofr committed Aug 16, 2022
2 parents c5446d3 + 7606543 commit 1fc5663
Show file tree
Hide file tree
Showing 11 changed files with 412 additions and 206 deletions.
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,21 @@ Click [here](http://typefox.io/teaching-the-language-server-protocol-to-microsof
- [**History**](CHANGELOG.md)
- [**License**](#license)

## Introduction
## Introduction & Project History

### May 2022

From release 1.0.0 onward the project switched to npm workspaces. We no longer require yarn, lerna and webpack. Mostly therefore the list of `devDependencies` is substantially shorter. All code has been moved to [./packages](./packages) directory.

As before the library code is just compiled with the TypeScript compiler and the library is now packaged with npm. The need for bundling does no longer exist for the example. The compiled code is either executed by node or the web/client related code/pages are served with [vite.js](https://vitejs.dev/). We added a [second build option]( #optional-webpack-build-for-client-example) for the web client example using webpack.

The default and protected branch is now `main`.

In June 2022 we added the independent `vscode-ws-jsonrpc` as sub-package into this repository.
### June 2022

[monaco-vscode-api](https://github.com/CodinGame/monaco-vscode-api) was created by [CGNonofr](https://github.com/CGNonofr) and this library is now based on it and the old [implementation was removed](https://github.com/CodinGame/monaco-vscode-api#history).

We added the independent **vscode-ws-jsonrpc** as sub-package into this repository.

## Getting started

Expand Down
552 changes: 375 additions & 177 deletions package-lock.json

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"private": true,
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.28.0",
"@typescript-eslint/parser": "^5.28.0",
"@typescript-eslint/eslint-plugin": "^5.33.0",
"@typescript-eslint/parser": "^5.33.0",
"editorconfig": "^0.15.3",
"eslint": "^8.18.0",
"eslint": "^8.22.0",
"eslint-config-standard": "^17.0.0",
"eslint-plugin-header": "^3.1.1",
"eslint-plugin-import": "^2.26.0",
Expand All @@ -13,19 +13,19 @@
"shx": "^0.3.4",
"tslib": "^2.4.0",
"typescript": "^4.7.4",
"vite": "^3.0.2",
"vite": "3.0.7",
"path-browserify": "^1.0.1"
},
"resolutions": {
"vscode-languageserver-types": "3.17.1"
"vscode-languageserver-types": "3.17.2"
},
"engines": {
"node": ">=16.0.0",
"npm": ">=7.10.0"
},
"volta": {
"node": "16.16.0",
"npm": "8.15.0"
"npm": "8.17.0"
},
"scripts": {
"clean": "npm run clean --workspaces && npm run webpack:clean --workspace packages/examples/client",
Expand Down
4 changes: 4 additions & 0 deletions packages/client/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

All notable changes to this npm module are documented in this file.

## [3.0.0] - 2022-08-15

- Update to monaco 0.34/vscode 1.69 [#409](https://github.com/TypeFox/monaco-languageclient/pull/409)

## 2.x.x BREAKING CHANGES

v2+ of this library is dependant on [monaco-vscode-api](https://github.com/CodinGame/monaco-vscode-api) which removed all vscode-api/-compatibility related code. The change has mostly no effect on end users code, but there are two things that need to be taken into account:
Expand Down
6 changes: 3 additions & 3 deletions packages/client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "monaco-languageclient",
"version": "2.1.0",
"version": "3.0.0",
"description": "Monaco Language client implementation",
"author": {
"name": "TypeFox GmbH ",
Expand Down Expand Up @@ -53,7 +53,7 @@
],
"dependencies": {
"glob-to-regexp": "0.4.1",
"vscode": "npm:@codingame/monaco-vscode-api@~1.67.20",
"vscode": "npm:@codingame/monaco-vscode-api@~1.69.0",
"vscode-jsonrpc": "8.0.2",
"vscode-languageclient": "8.0.2",
"vscode-languageserver-textdocument": "1.0.5",
Expand All @@ -62,7 +62,7 @@
"devDependencies": {
"@types/glob-to-regexp": "^0.4.1",
"@types/node": "16.11.7",
"@types/vscode": "~1.67.0"
"@types/vscode": "~1.69.1"
},
"scripts": {
"clean": "npx shx rm -fr lib tsconfig.tsbuildinfo",
Expand Down
15 changes: 8 additions & 7 deletions packages/client/src/monaco-converter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -562,12 +562,13 @@ export class MonacoToProtocolConverter {
export class ProtocolToMonacoConverter {
public constructor (protected readonly _monaco: typeof monaco) { }

asResourceEdits (resource: monaco.Uri, edits: (TextEdit | AnnotatedTextEdit)[], asMetadata: (annotation: ls.ChangeAnnotationIdentifier | undefined) => monaco.languages.WorkspaceEditMetadata | undefined, modelVersionId?: number): monaco.languages.WorkspaceTextEdit[] {
asResourceEdits (resource: monaco.Uri, edits: (TextEdit | AnnotatedTextEdit)[], asMetadata: (annotation: ls.ChangeAnnotationIdentifier | undefined) => monaco.languages.WorkspaceEditMetadata | undefined, modelVersionId?: number): monaco.languages.IWorkspaceTextEdit[] {
return edits.map(edit => ({
resource,
edit: this.asTextEdit(edit),
textEdit: this.asTextEdit(edit),
modelVersionId,
metadata: AnnotatedTextEdit.is(edit) ? asMetadata(edit.annotationId) : undefined
metadata: AnnotatedTextEdit.is(edit) ? asMetadata(edit.annotationId) : undefined,
versionId: undefined
}));
}

Expand Down Expand Up @@ -600,24 +601,24 @@ export class ProtocolToMonacoConverter {
return sharedMetadata.get(annotation);
}
};
const edits: (monaco.languages.WorkspaceTextEdit | monaco.languages.WorkspaceFileEdit)[] = [];
const edits: (monaco.languages.IWorkspaceTextEdit | monaco.languages.IWorkspaceFileEdit)[] = [];
if (item.documentChanges) {
item.documentChanges.forEach(change => {
if (ls.CreateFile.is(change)) {
edits.push(<monaco.languages.WorkspaceFileEdit>{
edits.push(<monaco.languages.IWorkspaceFileEdit>{
newUri: this._monaco.Uri.parse(change.uri),
options: change.options,
metadata: asMetadata(change.annotationId)
});
} else if (ls.RenameFile.is(change)) {
edits.push(<monaco.languages.WorkspaceFileEdit>{
edits.push(<monaco.languages.IWorkspaceFileEdit>{
oldUri: this._monaco.Uri.parse(change.oldUri),
newUri: this._monaco.Uri.parse(change.newUri),
options: change.options,
metadata: asMetadata(change.annotationId)
});
} else if (ls.DeleteFile.is(change)) {
edits.push(<monaco.languages.WorkspaceFileEdit>{
edits.push(<monaco.languages.IWorkspaceFileEdit>{
oldUri: this._monaco.Uri.parse(change.uri),
options: change.options,
metadata: asMetadata(change.annotationId)
Expand Down
3 changes: 0 additions & 3 deletions packages/client/src/monaco-language-client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import {
BaseLanguageClient, MessageTransports, LanguageClientOptions, CloseAction, ErrorAction
} from 'vscode-languageclient/lib/common/client';
import type * as vscode from 'vscode';
import { ConfigurationFeature, SyncConfigurationFeature } from 'vscode-languageclient/lib/common/configuration';
import { DidChangeTextDocumentFeature, DidCloseTextDocumentFeature, DidOpenTextDocumentFeature, DidSaveTextDocumentFeature, WillSaveFeature, WillSaveWaitUntilFeature } from 'vscode-languageclient/lib/common/textSynchronization';
import { CompletionItemFeature } from 'vscode-languageclient/lib/common/completion';
Expand Down Expand Up @@ -42,8 +41,6 @@ export interface IConnectionProvider {
get(encoding: string): Promise<MessageTransports>;
}
export class MonacoLanguageClient extends BaseLanguageClient {
static bypassConversion = (result: any, token?: vscode.CancellationToken) => token != null ? Promise.resolve(result || undefined) : (result || undefined);

protected readonly connectionProvider: IConnectionProvider;

constructor ({ id, name, clientOptions, connectionProvider }: MonacoLanguageClient.Options) {
Expand Down
4 changes: 2 additions & 2 deletions packages/examples/browser-lsp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"name": "browser-lsp",
"private": true,
"dependencies": {
"monaco-editor": "0.33.0",
"monaco-editor-workers": "0.33.0",
"monaco-editor": "0.34.0",
"monaco-editor-workers": "0.34.0",
"monaco-languageclient": "../../client",
"vscode-languageserver": "8.0.1",
"vscode-languageserver-protocol": "3.17.1"
Expand Down
4 changes: 2 additions & 2 deletions packages/examples/browser-old/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"name": "browser-example-old",
"private": true,
"dependencies": {
"monaco-editor": "0.33.0",
"monaco-editor-workers": "0.33.0",
"monaco-editor": "0.34.0",
"monaco-editor-workers": "0.34.0",
"monaco-languageclient": "../../client",
"vscode-json-languageservice": "^5.0.0"
},
Expand Down
4 changes: 2 additions & 2 deletions packages/examples/browser/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"name": "browser-example",
"private": true,
"dependencies": {
"monaco-editor": "0.33.0",
"monaco-editor-workers": "0.33.0",
"monaco-editor": "0.34.0",
"monaco-editor-workers": "0.34.0",
"monaco-languageclient": "../../client",
"vscode-json-languageservice": "^5.0.0"
},
Expand Down
4 changes: 2 additions & 2 deletions packages/examples/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"private": true,
"dependencies": {
"vscode-ws-jsonrpc": "../../vscode-ws-jsonrpc",
"monaco-editor": "0.33.0",
"monaco-editor-workers": "0.33.0",
"monaco-editor": "0.34.0",
"monaco-editor-workers": "0.34.0",
"monaco-languageclient": "../../client",
"normalize-url": "^7.0.3"
},
Expand Down

0 comments on commit 1fc5663

Please sign in to comment.