{"id":16329120,"url":"https://github.com/eclipse-glsp/glsp-examples","last_synced_at":"2025-04-08T03:09:55.673Z","repository":{"id":35849355,"uuid":"218795435","full_name":"eclipse-glsp/glsp-examples","owner":"eclipse-glsp","description":"Example diagram editors built with Eclipse GLSP","archived":false,"fork":false,"pushed_at":"2025-01-16T13:31:53.000Z","size":10892,"stargazers_count":46,"open_issues_count":10,"forks_count":31,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-31T17:20:30.040Z","etag":null,"topics":["diagram","diagram-editors","eclipse-theia","graphical-models","lsp","lsp-server","sprotty","theia","theia-extension"],"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":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipse-glsp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-EPL","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-31T15:15:30.000Z","updated_at":"2025-01-18T16:02:10.000Z","dependencies_parsed_at":"2023-09-23T17:52:42.747Z","dependency_job_id":"46db1a74-60f5-489c-93e2-4adbb30ac9b2","html_url":"https://github.com/eclipse-glsp/glsp-examples","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-glsp%2Fglsp-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-glsp%2Fglsp-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-glsp%2Fglsp-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-glsp%2Fglsp-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipse-glsp","download_url":"https://codeload.github.com/eclipse-glsp/glsp-examples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247767236,"owners_count":20992548,"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-editors","eclipse-theia","graphical-models","lsp","lsp-server","sprotty","theia","theia-extension"],"created_at":"2024-10-10T23:14:41.735Z","updated_at":"2025-04-08T03:09:55.657Z","avatar_url":"https://github.com/eclipse-glsp.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Eclipse GLSP Examples [![Build Status](https://ci.eclipse.org/glsp/job/eclipse-glsp/job/glsp-examples/job/master/badge/icon)](https://ci.eclipse.org/glsp/job/eclipse-glsp/job/glsp-examples/job/master/)\n\nThis repository contains code examples that demonstrate how to build diagram editors with the [Graphical Language Server Platform (GLSP)](https://github.com/eclipse-glsp/glsp).\nThe examples are focused on the integration of GLSP editors with the cloud-based [Eclipse Theia IDE](https://github.com/theia-ide/theia) using the [GLSP Theia integration](https://github.com/eclipse-glsp/glsp-theia-integration) and the Java based [GLSP Server Framework](https://github.com/eclipse-glsp/glsp-server).\n\nEach example is self-contained and provides both, an example diagram client (`glsp-client` directory) and its corresponding GLSP server (`glsp-server` directory).\n\n## Prerequisites\n\nThe following libraries/frameworks need to be installed on your system:\n\n-   [Node.js](https://nodejs.org/en/) `\u003e=16.11.0`\n-   [Yarn](https://classic.yarnpkg.com/en/docs/install#debian-stable) `\u003e=1.7.0 \u003c 2.x.x`\n-   [Java](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html) `\u003e=17`\n-   [Maven](https://maven.apache.org/) `\u003e=3.6.0`\n\nThe examples are heavily interwoven with Eclipse Theia, so please also check the [prerequisites of Theia](https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#prerequisites).\n\nThe web-based/client part of the examples has been developed using [Visual Studio Code](https://code.visualstudio.com/) and the server/java part has been developed with the [Eclipse IDE](https://www.eclipse.org/ide/).\nHowever, it's of course also possible to use any other IDE or text editor.\n\n## Examples\n\n-   [Project Templates](project-templates): The best starting point for your own diagram editor project.\n    The project templates are available for several combinations of tool platform integrations (Theia, VS Code), source models (JSON, EMF) and servers (Node, Java). Please visit the [GLSP documentation](https://www.eclipse.org/glsp/documentation/gettingstarted/) for more information.\n\n-   [Workflow Example](workflow): A consistent example provided by all GLSP components.\n    It implements a simple flow chart diagram editor with different types of nodes and edges.\n    The `Workflow Example` is the main example used for development and integrates all GLSP features\n\n    https://user-images.githubusercontent.com/588090/154459938-849ca684-11b3-472c-8a59-98ea6cb0b4c1.mp4\n\n## Building the examples \u0026 project templates\n\nTo build all examples \u0026 project templates simply execute the following in the repository root:\n\n```bash\nyarn build\n```\n\nIn addition, it is also possible to build each example or template individually:\n\n```bash\nyarn build:workflow\nyarn build:java-emf-theia\nyarn build:node-json-theia\nyarn build:node-json-vscode\nyarn build:java-emf-eclipse\n```\n\n## Running \u0026 Debugging the examples\n\nEach example and project template contains a dedicated README with detailed instructions on how to run und debug them.\n\n### Debugging the Jave GLSP Server in Eclipse\n\nAll Java example GLSP servers are maven projects which can be imported directly into the Eclipse IDE.\nIn contrast to the Java support in VS Code, Eclipse also offers Ecore tooling which is required to manipulate or extend the graph Ecore models (e.g. [`workflow-graph.ecore`](workflow/glsp-server/src/main/resources/workflow-graph.ecore)).\n\nWe recommend to use the [`Eclipse Modeling Tools`](https://www.eclipse.org/downloads/packages/release/2023-09/r/eclipse-modeling-tools) package as it already provides most needed plugins out of the box.\nOnly the [`M2E` plugin](https://github.com/eclipse-m2e/m2e-core/blob/master/README.md#-installation) has to be installed on top to enable maven support in Eclipse.\n\nUse the file menu to import a `glsp-server` maven project into the Workspace ( File -\u003e Import... -\u003e Maven -\u003e Existing Maven Projects).\nThe projects also contain a launch configuration (`\u003cExampleName\u003eServerLauncher.launch`) to enable debugging via the `Run` menu.\n\n## Integration with other platforms\n\nThe general GLSP Client code is separated from the Theia specific glue code and located in a dedicated package with `-glsp` prefix (e.g. `workflow-glsp`).\nThis package can be easily reused when the package should be integrated with any other platform.\nIn addition to the Theia integration, GLSP provides the following glue code frameworks:\n\n-   [GLSP VS Code Integration](https://github.com/eclipse-glsp/glsp-vscode-integration)\n-   [GLSP Eclipse IDE Integration](https://github.com/eclipse-glsp/glsp-eclipse-integration)\n\nFor a reference implementation of a example specific glue code package please checkout the `project templates`.\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\n## License\n\n-   [Eclipse Public License 2.0](LICENSE-EPL)\n-   [一 (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](LICENSE-GPL)\n-   [一 (Secondary) MIT License](LICENSE-MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-glsp%2Fglsp-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipse-glsp%2Fglsp-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-glsp%2Fglsp-examples/lists"}