https://github.com/eclipse-sprotty/sprotty
A diagramming framework for the web
https://github.com/eclipse-sprotty/sprotty
diagrams eclipse svg typescript visualization web
Last synced: about 1 month ago
JSON representation
A diagramming framework for the web
- Host: GitHub
- URL: https://github.com/eclipse-sprotty/sprotty
- Owner: eclipse-sprotty
- License: epl-2.0
- Created: 2018-08-16T09:15:44.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-04-10T14:43:54.000Z (about 1 month ago)
- Last Synced: 2025-04-18T21:25:40.537Z (about 1 month ago)
- Topics: diagrams, eclipse, svg, typescript, visualization, web
- Language: TypeScript
- Homepage: https://sprotty.org/
- Size: 2.97 MB
- Stars: 771
- Watchers: 26
- Forks: 84
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-starred - eclipse-sprotty/sprotty - A diagramming framework for the web (web)
README

[](https://gitpod.io#https://github.com/eclipse-sprotty/sprotty)
[](https://gitter.im/eclipse/sprotty?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)This is the client part of _Sprotty_, a next-generation, open-source diagramming framework built with web technologies.
![]()
![]()
![]()
Some selected features:
* Fast, scalable SVG rendering that is compatible with all modern browsers and stylable with CSS
* Animations built into the core
* Support for a distributed runtime with client and server
* Fast, reactive client architecture implemented in TypeScript
* Java or Node.js based server architecture
* Configuration via dependency injection
* Integrations with Xtext, Langium, the Language Server Protocol, VS Code and Theia
* Can be run as rich-client as well as in the browser## Repositories
The Sprotty project spans across four GitHub repositories.
* [sprotty](https://github.com/eclipse-sprotty/sprotty) (this repository) contains the client code (`sprotty`), shared code for Node.js servers (`sprotty-protocol`), ELK layout integration (`sprotty-elk`) and examples.
* [sprotty-server](https://github.com/eclipse-sprotty/sprotty-server) contains server code for Java and includes server-side diagram layout, the extension of the Language Server Protocol, and the integration with the Xtext framework.
* [sprotty-theia](https://github.com/eclipse-sprotty/sprotty-theia) contains the glue code to integrate Sprotty views in the Theia IDE.
* [sprotty-vscode](https://github.com/eclipse-sprotty/sprotty-vscode) contains the glue code to integrate Sprotty views in VS Code.The project is built on [ci.eclipse.org/sprotty](https://ci.eclipse.org/sprotty/).
## Docs
For further information please consult the [documentation on the website](https://sprotty.org/docs/).
The version history is documented in the [CHANGELOG](https://github.com/eclipse-sprotty/sprotty/blob/master/CHANGELOG.md). Changes are tracked seperately for each package.
## References
- [Example: view filtering](https://github.com/TypeFox/sprotty-view-filtering) – using filtering to efficiently navigate a large dataset of publications and citations
- [Example: nested graphs](https://github.com/TypeFox/sprotty-nested-demo) – expanding nested subgraphs in-place to efficiently navigate a large project with TypeScript modules
- [Yangster](https://github.com/TypeFox/yang-vscode) – a VS Code extension for the YANG language