@theia/core 1.26.0 → 1.27.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -7
- package/lib/browser/messaging/ws-connection-provider.d.ts +5 -4
- package/lib/browser/messaging/ws-connection-provider.d.ts.map +1 -1
- package/lib/browser/messaging/ws-connection-provider.js +30 -23
- package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
- package/lib/browser/progress-status-bar-item.d.ts +1 -1
- package/lib/browser/progress-status-bar-item.d.ts.map +1 -1
- package/lib/browser/tree/tree-compression/compressed-tree-widget.js +2 -2
- package/lib/browser/tree/tree-compression/compressed-tree-widget.js.map +1 -1
- package/lib/browser/widgets/select-component.d.ts +4 -1
- package/lib/browser/widgets/select-component.d.ts.map +1 -1
- package/lib/browser/widgets/select-component.js +30 -16
- package/lib/browser/widgets/select-component.js.map +1 -1
- package/lib/common/cancellation.d.ts +1 -0
- package/lib/common/cancellation.d.ts.map +1 -1
- package/lib/common/cancellation.js +8 -0
- package/lib/common/cancellation.js.map +1 -1
- package/lib/common/index.d.ts +2 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +2 -0
- package/lib/common/index.js.map +1 -1
- package/lib/common/message-rpc/channel.d.ts +106 -0
- package/lib/common/message-rpc/channel.d.ts.map +1 -0
- package/lib/common/message-rpc/channel.js +195 -0
- package/lib/common/message-rpc/channel.js.map +1 -0
- package/lib/common/message-rpc/channel.spec.d.ts +9 -0
- package/lib/common/message-rpc/channel.spec.d.ts.map +1 -0
- package/lib/common/message-rpc/channel.spec.js +80 -0
- package/lib/common/message-rpc/channel.spec.js.map +1 -0
- package/lib/common/message-rpc/index.d.ts +4 -0
- package/lib/common/message-rpc/index.d.ts.map +1 -0
- package/lib/{node/messaging/logger.js → common/message-rpc/index.js} +6 -19
- package/lib/common/message-rpc/index.js.map +1 -0
- package/lib/common/message-rpc/message-buffer.d.ts +50 -0
- package/lib/common/message-rpc/message-buffer.d.ts.map +1 -0
- package/lib/common/message-rpc/message-buffer.js +56 -0
- package/lib/common/message-rpc/message-buffer.js.map +1 -0
- package/lib/common/message-rpc/rpc-message-encoder.d.ts +159 -0
- package/lib/common/message-rpc/rpc-message-encoder.d.ts.map +1 -0
- package/lib/common/message-rpc/rpc-message-encoder.js +362 -0
- package/lib/common/message-rpc/rpc-message-encoder.js.map +1 -0
- package/lib/common/message-rpc/rpc-message-encoder.spec.d.ts +2 -0
- package/lib/common/message-rpc/rpc-message-encoder.spec.d.ts.map +1 -0
- package/lib/common/message-rpc/rpc-message-encoder.spec.js +37 -0
- package/lib/common/message-rpc/rpc-message-encoder.spec.js.map +1 -0
- package/lib/common/message-rpc/rpc-protocol.d.ts +61 -0
- package/lib/common/message-rpc/rpc-protocol.d.ts.map +1 -0
- package/lib/common/message-rpc/rpc-protocol.js +183 -0
- package/lib/common/message-rpc/rpc-protocol.js.map +1 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.d.ts +52 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.d.ts.map +1 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.js +169 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.js.map +1 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.spec.d.ts +2 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.spec.d.ts.map +1 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.spec.js +39 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.spec.js.map +1 -0
- package/lib/common/messaging/abstract-connection-provider.d.ts +9 -8
- package/lib/common/messaging/abstract-connection-provider.d.ts.map +1 -1
- package/lib/common/messaging/abstract-connection-provider.js +20 -35
- package/lib/common/messaging/abstract-connection-provider.js.map +1 -1
- package/lib/common/messaging/connection-error-handler.d.ts +1 -2
- package/lib/common/messaging/connection-error-handler.d.ts.map +1 -1
- package/lib/common/messaging/connection-error-handler.js +1 -1
- package/lib/common/messaging/connection-error-handler.js.map +1 -1
- package/lib/common/messaging/handler.d.ts +2 -2
- package/lib/common/messaging/handler.d.ts.map +1 -1
- package/lib/common/messaging/proxy-factory.d.ts +13 -7
- package/lib/common/messaging/proxy-factory.d.ts.map +1 -1
- package/lib/common/messaging/proxy-factory.js +18 -13
- package/lib/common/messaging/proxy-factory.js.map +1 -1
- package/lib/common/messaging/proxy-factory.spec.js +4 -15
- package/lib/common/messaging/proxy-factory.spec.js.map +1 -1
- package/lib/common/messaging/web-socket-channel.d.ts +54 -48
- package/lib/common/messaging/web-socket-channel.d.ts.map +1 -1
- package/lib/common/messaging/web-socket-channel.js +41 -105
- package/lib/common/messaging/web-socket-channel.js.map +1 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts +2 -2
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts.map +1 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.js +18 -7
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.js.map +1 -1
- package/lib/electron-browser/messaging/electron-ws-connection-provider.d.ts +2 -2
- package/lib/electron-browser/messaging/electron-ws-connection-provider.d.ts.map +1 -1
- package/lib/electron-browser/messaging/electron-ws-connection-provider.js +5 -7
- package/lib/electron-browser/messaging/electron-ws-connection-provider.js.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.d.ts +37 -9
- package/lib/electron-main/messaging/electron-messaging-contribution.d.ts.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.js +83 -68
- package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-service.d.ts +2 -8
- package/lib/electron-main/messaging/electron-messaging-service.d.ts.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-service.js.map +1 -1
- package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
- package/lib/electron-main/theia-electron-window.js +11 -8
- package/lib/electron-main/theia-electron-window.js.map +1 -1
- package/lib/node/messaging/binary-message-pipe.d.ts +45 -0
- package/lib/node/messaging/binary-message-pipe.d.ts.map +1 -0
- package/lib/node/messaging/binary-message-pipe.js +152 -0
- package/lib/node/messaging/binary-message-pipe.js.map +1 -0
- package/lib/node/messaging/ipc-bootstrap.js +2 -11
- package/lib/node/messaging/ipc-bootstrap.js.map +1 -1
- package/lib/node/messaging/ipc-channel.d.ts +26 -0
- package/lib/node/messaging/ipc-channel.d.ts.map +1 -0
- package/lib/node/messaging/ipc-channel.js +86 -0
- package/lib/node/messaging/ipc-channel.js.map +1 -0
- package/lib/node/messaging/ipc-connection-provider.d.ts +3 -5
- package/lib/node/messaging/ipc-connection-provider.d.ts.map +1 -1
- package/lib/node/messaging/ipc-connection-provider.js +14 -31
- package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
- package/lib/node/messaging/ipc-protocol.d.ts +2 -2
- package/lib/node/messaging/ipc-protocol.d.ts.map +1 -1
- package/lib/node/messaging/messaging-contribution.d.ts +6 -9
- package/lib/node/messaging/messaging-contribution.d.ts.map +1 -1
- package/lib/node/messaging/messaging-contribution.js +23 -68
- package/lib/node/messaging/messaging-contribution.js.map +1 -1
- package/lib/node/messaging/messaging-service.d.ts +4 -23
- package/lib/node/messaging/messaging-service.d.ts.map +1 -1
- package/lib/node/messaging/messaging-service.js +1 -15
- package/lib/node/messaging/messaging-service.js.map +1 -1
- package/lib/node/messaging/test/test-web-socket-channel.d.ts +4 -2
- package/lib/node/messaging/test/test-web-socket-channel.d.ts.map +1 -1
- package/lib/node/messaging/test/test-web-socket-channel.js +25 -12
- package/lib/node/messaging/test/test-web-socket-channel.js.map +1 -1
- package/package.json +5 -8
- package/src/browser/messaging/ws-connection-provider.ts +34 -25
- package/src/browser/progress-status-bar-item.ts +1 -1
- package/src/browser/style/menus.css +1 -0
- package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +2 -2
- package/src/browser/widgets/select-component.tsx +37 -17
- package/src/common/cancellation.ts +8 -0
- package/src/common/index.ts +2 -0
- package/src/common/message-rpc/channel.spec.ts +88 -0
- package/src/common/message-rpc/channel.ts +260 -0
- package/src/{node/messaging/logger.ts → common/message-rpc/index.ts} +4 -23
- package/src/common/message-rpc/message-buffer.ts +99 -0
- package/src/common/message-rpc/rpc-message-encoder.spec.ts +42 -0
- package/src/common/message-rpc/rpc-message-encoder.ts +497 -0
- package/src/common/message-rpc/rpc-protocol.ts +217 -0
- package/src/common/message-rpc/uint8-array-message-buffer.spec.ts +41 -0
- package/src/common/message-rpc/uint8-array-message-buffer.ts +206 -0
- package/src/common/messaging/abstract-connection-provider.ts +28 -37
- package/src/common/messaging/connection-error-handler.ts +1 -2
- package/src/common/messaging/handler.ts +2 -2
- package/src/common/messaging/proxy-factory.spec.ts +4 -17
- package/src/common/messaging/proxy-factory.ts +27 -16
- package/src/common/messaging/web-socket-channel.ts +79 -135
- package/src/electron-browser/messaging/electron-ipc-connection-provider.ts +21 -7
- package/src/electron-browser/messaging/electron-ws-connection-provider.ts +5 -8
- package/src/electron-main/messaging/electron-messaging-contribution.ts +87 -65
- package/src/electron-main/messaging/electron-messaging-service.ts +2 -8
- package/src/electron-main/theia-electron-window.ts +12 -9
- package/src/node/messaging/binary-message-pipe.ts +168 -0
- package/src/node/messaging/ipc-bootstrap.ts +3 -11
- package/src/node/messaging/ipc-channel.ts +97 -0
- package/src/node/messaging/ipc-connection-provider.ts +18 -35
- package/src/node/messaging/ipc-protocol.ts +2 -2
- package/src/node/messaging/messaging-contribution.ts +29 -74
- package/src/node/messaging/messaging-service.ts +4 -31
- package/src/node/messaging/test/test-web-socket-channel.ts +26 -17
- package/lib/node/messaging/logger.d.ts +0 -8
- package/lib/node/messaging/logger.d.ts.map +0 -1
- package/lib/node/messaging/logger.js.map +0 -1
- package/shared/vscode-ws-jsonrpc/index.d.ts +0 -1
- package/shared/vscode-ws-jsonrpc/index.js +0 -1
|
@@ -15,33 +15,21 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { Socket } from 'socket.io';
|
|
18
|
-
import {
|
|
19
|
-
import { IConnection } from 'vscode-ws-jsonrpc/lib/server/connection';
|
|
20
|
-
import { WebSocketChannel } from '../../common/messaging/web-socket-channel';
|
|
18
|
+
import { Channel } from '../../common/message-rpc/channel';
|
|
21
19
|
|
|
22
20
|
export interface MessagingService {
|
|
23
|
-
/**
|
|
24
|
-
* Accept a JSON-RPC connection on the given path.
|
|
25
|
-
* A path supports the route syntax: https://github.com/rcs/route-parser#what-can-i-use-in-my-routes.
|
|
26
|
-
*/
|
|
27
|
-
listen(path: string, callback: (params: MessagingService.PathParams, connection: MessageConnection) => void): void;
|
|
28
|
-
/**
|
|
29
|
-
* Accept a raw JSON-RPC connection on the given path.
|
|
30
|
-
* A path supports the route syntax: https://github.com/rcs/route-parser#what-can-i-use-in-my-routes.
|
|
31
|
-
*/
|
|
32
|
-
forward(path: string, callback: (params: MessagingService.PathParams, connection: IConnection) => void): void;
|
|
33
21
|
/**
|
|
34
22
|
* Accept a web socket channel on the given path.
|
|
35
23
|
* A path supports the route syntax: https://github.com/rcs/route-parser#what-can-i-use-in-my-routes.
|
|
36
24
|
*/
|
|
37
|
-
wsChannel(path: string, callback: (params: MessagingService.PathParams,
|
|
25
|
+
wsChannel(path: string, callback: (params: MessagingService.PathParams, channel: Channel) => void): void;
|
|
38
26
|
/**
|
|
39
27
|
* Accept a web socket connection on the given path.
|
|
40
28
|
* A path supports the route syntax: https://github.com/rcs/route-parser#what-can-i-use-in-my-routes.
|
|
41
29
|
*
|
|
42
30
|
* #### Important
|
|
43
|
-
* Prefer
|
|
44
|
-
* and excessive amount can cause performance degradation. All
|
|
31
|
+
* Prefer using web socket channels over establishing new web socket connection. Clients can handle only limited amount of web sockets
|
|
32
|
+
* and excessive amount can cause performance degradation. All web socket channels share a single web socket connection.
|
|
45
33
|
*/
|
|
46
34
|
ws(path: string, callback: (params: MessagingService.PathParams, socket: Socket) => void): void;
|
|
47
35
|
}
|
|
@@ -56,18 +44,3 @@ export namespace MessagingService {
|
|
|
56
44
|
configure(service: MessagingService): void;
|
|
57
45
|
}
|
|
58
46
|
}
|
|
59
|
-
|
|
60
|
-
export interface WebSocketChannelConnection extends IConnection {
|
|
61
|
-
channel: WebSocketChannel;
|
|
62
|
-
}
|
|
63
|
-
export namespace WebSocketChannelConnection {
|
|
64
|
-
export function is(connection: IConnection): connection is WebSocketChannelConnection {
|
|
65
|
-
return (connection as WebSocketChannelConnection).channel instanceof WebSocketChannel;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export function create(connection: IConnection, channel: WebSocketChannel): WebSocketChannelConnection {
|
|
69
|
-
const result = connection as WebSocketChannelConnection;
|
|
70
|
-
result.channel = channel;
|
|
71
|
-
return result;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
@@ -16,32 +16,41 @@
|
|
|
16
16
|
|
|
17
17
|
import * as http from 'http';
|
|
18
18
|
import * as https from 'https';
|
|
19
|
-
import { WebSocketChannel } from '../../../common/messaging/web-socket-channel';
|
|
20
|
-
import { Disposable } from '../../../common/disposable';
|
|
21
19
|
import { AddressInfo } from 'net';
|
|
22
|
-
import { io } from 'socket.io-client';
|
|
20
|
+
import { io, Socket } from 'socket.io-client';
|
|
21
|
+
import { Channel, ChannelMultiplexer } from '../../../common/message-rpc/channel';
|
|
22
|
+
import { IWebSocket, WebSocketChannel } from '../../../common/messaging/web-socket-channel';
|
|
23
23
|
|
|
24
|
-
export class
|
|
24
|
+
export class TestWebSocketChannelSetup {
|
|
25
|
+
public readonly multiplexer: ChannelMultiplexer;
|
|
26
|
+
public readonly channel: Channel;
|
|
25
27
|
|
|
26
28
|
constructor({ server, path }: {
|
|
27
29
|
server: http.Server | https.Server,
|
|
28
30
|
path: string
|
|
29
31
|
}) {
|
|
30
|
-
super(0, content => socket.send(content));
|
|
31
32
|
const socket = io(`ws://localhost:${(server.address() as AddressInfo).port}${WebSocketChannel.wsPath}`);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
this.fireClose(0, reason)
|
|
37
|
-
);
|
|
38
|
-
socket.on('message', data => {
|
|
39
|
-
this.handleMessage(JSON.parse(data.toString()));
|
|
33
|
+
this.channel = new WebSocketChannel(toIWebSocket(socket));
|
|
34
|
+
this.multiplexer = new ChannelMultiplexer(this.channel);
|
|
35
|
+
socket.on('connect', () => {
|
|
36
|
+
this.multiplexer.open(path);
|
|
40
37
|
});
|
|
41
|
-
socket.
|
|
42
|
-
this.open(path)
|
|
43
|
-
);
|
|
44
|
-
this.toDispose.push(Disposable.create(() => socket.close()));
|
|
38
|
+
socket.connect();
|
|
45
39
|
}
|
|
40
|
+
}
|
|
46
41
|
|
|
42
|
+
function toIWebSocket(socket: Socket): IWebSocket {
|
|
43
|
+
return {
|
|
44
|
+
close: () => {
|
|
45
|
+
socket.removeAllListeners('disconnect');
|
|
46
|
+
socket.removeAllListeners('error');
|
|
47
|
+
socket.removeAllListeners('message');
|
|
48
|
+
socket.close();
|
|
49
|
+
},
|
|
50
|
+
isConnected: () => socket.connected,
|
|
51
|
+
onClose: cb => socket.on('disconnect', reason => cb(reason)),
|
|
52
|
+
onError: cb => socket.on('error', reason => cb(reason)),
|
|
53
|
+
onMessage: cb => socket.on('message', data => cb(data)),
|
|
54
|
+
send: message => socket.emit('message', message)
|
|
55
|
+
};
|
|
47
56
|
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Logger } from 'vscode-ws-jsonrpc';
|
|
2
|
-
export declare class ConsoleLogger implements Logger {
|
|
3
|
-
error(message: string): void;
|
|
4
|
-
warn(message: string): void;
|
|
5
|
-
info(message: string): void;
|
|
6
|
-
log(message: string): void;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/node/messaging/logger.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,qBAAa,aAAc,YAAW,MAAM;IAExC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAI7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/node/messaging/logger.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAIhF,MAAa,aAAa;IAEtB,KAAK,CAAC,OAAe;QACjB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,OAAe;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,OAAe;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,GAAG,CAAC,OAAe;QACf,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;CAEJ;AAlBD,sCAkBC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from 'vscode-ws-jsonrpc';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('vscode-ws-jsonrpc');
|