Node based server component for the Eclipse Graphical Language Platform (GLSP). The implementation of this server is aligned with the default Java based GLSP Server.
The server consists of three components:
@eclipse-glsp/server-node
The base framework for building node based GLSP servers@eclipse-glsp/graph
The Typescript based implementation of the graphical model used in GLSP (GModel).@eclipse-glsp-examples/workflow-server
GLSP example server using the workflow model.
Currently the node-based API does not yet support the full feature set of the Java GLSP Server API. Below is a list of features that are currently supported.
Integration | Node Server | Java Server |
---|---|---|
JSON-RPC over Socket (Theia, VSCode) | ✓ | ✓ |
JSON-RPC over Websocket (Standalone, Eclipse IDE) | ✓ |
Feature | Node Server | Java Server |
---|---|---|
Model Saving | ✓ | ✓ |
Model Dirty State | ✓ | |
Model SVG Export | ✓ | ✓ |
Model Layout | ✓ | ✓ |
Model Edit Modes - Edit - Read-only |
✓ |
✓ ✓ |
Client View Port - Center - Fit to Screen |
✓ ✓ |
✓ ✓ |
Client Status Notification | ✓ | ✓ |
Client Message Notification | ✓ | ✓ |
Element Selection | ✓ | ✓ |
Element Hover | ✓ | ✓ |
Element Validation | ✓ | ✓ |
Element Navigation | ✓ | |
Element Type Hints | ✓ | ✓ |
Element Creation and Deletion | ✓ | ✓ |
Node Change Bounds - Move - Resize |
✓ ✓ |
✓ ✓ |
Node Change Container | ✓ | ✓ |
Edge Reconnect | ✓ | ✓ |
Edge Routing Points | ✓ | ✓ |
Element Text Editing | ✓ | ✓ |
Clipboard (Cut, Copy, Paste) | ✓ | |
Undo / Redo | ✓ | |
Contexts - Context Menu - Command Palette - Tool Palette |
✓ ✓ |
✓ ✓ ✓ |
Install dependencies and build via
yarn
Only build via
yarn build
Lint packages via
yarn lint
or do all of the above via
yarn all
To execute all available test suits use:
yarn test
It's also possible to execute and debug a single test file in VSCode/Theia via the File explorer.
Simply select a test file (*.spec.ts
), then go to the Run & Debug
View (Ctrl+Shift+D
), select the 'Run current test" launch config and start debugging (Ctrl+F11
)
The example server can be launched with:
yarn start
To debug you can use the Debug workflow example GLSP Server
launch configuration.
This starts the example server in a dedicated process. To test the server you have to connect a workflow GLSP client that supports JSON-RPC via socket.
We recommend to use the client provided by the glsp-integration
.
For more information, please visit the Eclipse GLSP Umbrella repository and the Eclipse GLSP Website. If you have questions, please raise them in the discussions and have a look at our communication and support options.