ROS TypeScript monorepo
January 13, 2025 ยท View on GitHub
This repository is home to several TypeScript-based NPM packages for ROS 1 and ROS 2 support.
| Package | License | Version | Description |
|---|---|---|---|
@foxglove/ros1 | MIT | Standalone TypeScript implementation of the ROS 1 protocol using @foxglove/xmlrpc with a pluggable transport layer | |
@foxglove/rosbag (API docs) | Apache-2.0 | Node.js & browser compatible module for reading rosbag binary data files | |
@foxglove/rosbag2 | MIT | ROS 2 legacy SQLite bag reader abstract implementation | |
@foxglove/rosbag2-node | MIT | ROS 2 legacy SQLite bag reader for Node.js | |
@foxglove/rosbag2-web | MIT | ROS 2 legacy SQLite bag reader for the browser | |
@foxglove/rosmsg | MIT | ROS 1 and ROS 2 message definition parser | |
@foxglove/rosmsg-msgs-common | MIT | Common ROS message definitions using @foxglove/rosmsg | |
@foxglove/rosmsg-serialization | MIT | ROS 1 message serialization | |
@foxglove/rosmsg2-serialization | MIT | ROS 2 message serialization using @foxglove/cdr | |
@foxglove/rostime | MIT | ROS Time and Duration primitives and helper methods | |
@foxglove/xmlrpc | MIT | XMLRPC client and server with pluggable server backend |
Development
yarn lint: run lint on specified file(s), or all files if not specifiedyarn build: build all packages in topological orderyarn test: run all tests
Publishing
Packages are automatically published when a tag named packagename/vX.Y.Z is pushed. You can use the GitHub Releases UI to create a release and tag.
Stay in touch
Join our Discord community to ask questions, share feedback, and stay up to date on what our team is working on.