{"id":16329122,"url":"https://github.com/eclipse-glsp/glsp-server-node","last_synced_at":"2025-07-11T05:31:58.327Z","repository":{"id":38189781,"uuid":"446827760","full_name":"eclipse-glsp/glsp-server-node","owner":"eclipse-glsp","description":"Node-based server framework of the graphical language server platform","archived":false,"fork":false,"pushed_at":"2024-02-22T13:35:17.000Z","size":1022,"stargazers_count":11,"open_issues_count":1,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-03-23T04:00:46.279Z","etag":null,"topics":["diagram","diagram-editor","glsp","graphical-modeling","graphical-models","lsp","lsp-server","node","typescript"],"latest_commit_sha":null,"homepage":"https://www.eclipse.dev/glsp","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipse-glsp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-01-11T13:16:30.000Z","updated_at":"2024-07-22T13:20:15.809Z","dependencies_parsed_at":"2024-04-15T13:31:47.109Z","dependency_job_id":"30e7729e-7731-4803-9cc7-4902628e526b","html_url":"https://github.com/eclipse-glsp/glsp-server-node","commit_stats":{"total_commits":47,"total_committers":8,"mean_commits":5.875,"dds":0.2978723404255319,"last_synced_commit":"5c40594962e16e16e56ec82d8100f45b849de315"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-glsp%2Fglsp-server-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-glsp%2Fglsp-server-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-glsp%2Fglsp-server-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-glsp%2Fglsp-server-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipse-glsp","download_url":"https://codeload.github.com/eclipse-glsp/glsp-server-node/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225693742,"owners_count":17509228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["diagram","diagram-editor","glsp","graphical-modeling","graphical-models","lsp","lsp-server","node","typescript"],"created_at":"2024-10-10T23:14:41.761Z","updated_at":"2024-11-21T08:17:27.068Z","avatar_url":"https://github.com/eclipse-glsp.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# GLSP Server [![Build Status](https://ci.eclipse.org/glsp/job/eclipse-glsp/job/glsp-server-node/job/main/badge/icon)](https://ci.eclipse.org/glsp/job/eclipse-glsp/job/glsp-server-node/job/main/)\n\nContains the code for the Typescript-based framework to create [GLSP](https://github.com/eclipse-glsp/glsp) server components.\nThe implementation of this server is aligned with the default Java based [GLSP Server](https://github.com/eclipse-glsp/glsp-server-node).\n\nThe server consists of three components:\n\n-   [`@eclipse-glsp/server`](packages/server/) The base framework for building GLSP servers\n-   [`@eclipse-glsp/graph`](packages/graph/) The Typescript based implementation of the graphical model used in GLSP (GModel).\n-   [`@eclipse-glsp-examples/workflow-server`](examples/workflow-server) GLSP example server using the workflow model.\n\nThe main target environment is node, nevertheless, all components are implemented in an ismorphic fashion and also provide\nan entrypoint to target browser environments (e.g. running the server in a web worker)\n\n## Build\n\nInstall dependencies and build via\n\n```console\nyarn\n```\n\nOnly build via\n\n```console\nyarn build\n```\n\nLint packages via\n\n```console\nyarn lint\n```\n\nor do all of the above via\n\n```console\nyarn all\n```\n\n## Testing\n\n### Unit tests\n\nTo execute all available test suits use:\n\n```console\nyarn test\n```\n\nIt's also possible to execute and debug a single test file in VSCode/Theia via the File explorer.\nSimply select a test file (`*.spec.ts`), then go to the `Run \u0026 Debug` View (`Ctrl+Shift+D`), select the 'Run current test\" launch config and start debugging (`Ctrl+F11`)\n\n## Workflow Diagram Example\n\nThe workflow diagram is a consistent example provided by all GLSP components.\nThe example implements a simple flow chart diagram editor with different types of nodes and edges (see screenshot below).\nThe example can be used to try out different GLSP features, as well as several available integrations with IDE platforms (Theia, VSCode, Eclipse, Standalone).\nAs the example is fully open source, you can also use it as a blueprint for a custom implementation of a GLSP diagram editor.\nSee [our project website](https://www.eclipse.org/glsp/documentation/#workflowoverview) for an overview of the workflow example and all components implementing it.\n\nhttps://user-images.githubusercontent.com/588090/154459938-849ca684-11b3-472c-8a59-98ea6cb0b4c1.mp4\n\n### How to start the Workflow Diagram example?\n\nTo see the diagram in action, you need to choose and launch one diagram client, see [here for an overview of available clients](https://www.eclipse.org/glsp/examples/#workflowoverview).\n\n-   [`glsp-theia-integration`](https://github.com/eclipse-glsp/glsp-theia-integration): Diagrams clients integrated into [Theia](https://github.com/theia-ide/theia).\n-   [`glsp-vscode-integration`](https://github.com/eclipse-glsp/glsp-vscode-integration): Diagram clients integrated into [VSCode](https://github.com/microsoft/vscode).\n-   [`glsp-eclipse-integration`](https://github.com/eclipse-glsp/glsp-eclipse-integration): Diagram clients integrated into Eclipse IDE.\n\nPlease look at the workflow example guides in the repository linked above to get more information on building and running the respective GLSP clients.\n\n### Launch Workflow Example Server\n\n#### Socket\n\nTo launch the server for TCP sockets use:\n\n```console\nyarn start\n```\n\nThis starts a server that is listening on port 5007 for incoming client requests.\n\nTo debug you can use the `Debug workflow example GLSP Server` launch configuration.\nTo test the server you have to connect a workflow GLSP client that supports JSON-RPC via socket.\nWe recommend to use the client provided by the [`glsp-integration`](https://github.com/eclipse-glsp/glsp-theia-integration#how-to-start-the-workflow-diagram-example-server-from-the-sources).\n\n#### Websocket\n\nTo launch the server for WebSockets use:\n\n```console\nyarn start:websocket\n```\n\nThis starts a server that is listening on the `ws://localhost:8081/workflow` endpoint for incoming client requests.\n\nTo debug you can use the `Debug workflow example GLSP Server (Websocket)` launch configuration.\nTo test the server you have to connect a workflow GLSP client that supports JSON-RPC via WebSocket.\nWe recommend to use the standalone example provided by [`glsp-client`](https://github.com/eclipse-glsp/glsp-client/blob/master/README.md#how-to-start-the-workflow-diagram-example).\n\n## More information\n\nFor more information, please visit the [Eclipse GLSP Umbrella repository](https://github.com/eclipse-glsp/glsp) and the [Eclipse GLSP Website](https://www.eclipse.org/glsp/).\nIf you have questions, please raise them in the [discussions](https://github.com/eclipse-glsp/glsp/discussions) and have a look at our [communication and support options](https://www.eclipse.org/glsp/contact/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-glsp%2Fglsp-server-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipse-glsp%2Fglsp-server-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-glsp%2Fglsp-server-node/lists"}