Skip to content

TypeScript packages for ROS 1 and ROS 2 support

Notifications You must be signed in to change notification settings

foxglove/ros-typescript

Repository files navigation

ROS TypeScript monorepo

This repository is home to several TypeScript-based NPM packages for ROS 1 and ROS 2 support.

Package License Version Description
@foxglove/ros1 MIT @foxglove/ros1 on NPM Standalone TypeScript implementation of the ROS 1 protocol using @foxglove/xmlrpc with a pluggable transport layer
@foxglove/rosbag (API docs) Apache-2.0 @foxglove/rosbag on NPM Node.js & browser compatible module for reading rosbag binary data files
@foxglove/rosbag2 MIT @foxglove/rosbag2 on NPM ROS 2 legacy SQLite bag reader abstract implementation
@foxglove/rosbag2-node MIT @foxglove/rosbag2-node on NPM ROS 2 legacy SQLite bag reader for Node.js
@foxglove/rosbag2-web MIT @foxglove/rosbag2-web on NPM ROS 2 legacy SQLite bag reader for the browser
@foxglove/rosmsg MIT @foxglove/rosmsg on NPM ROS 1 and ROS 2 message definition parser
@foxglove/rosmsg-msgs-common MIT @foxglove/rosmsg-msgs-common on NPM Common ROS message definitions using @foxglove/rosmsg
@foxglove/rosmsg-serialization MIT @foxglove/rosmsg-serialization on NPM ROS 1 message serialization
@foxglove/rosmsg2-serialization MIT @foxglove/rosmsg2-serialization on NPM ROS 2 message serialization using @foxglove/cdr
@foxglove/rostime MIT @foxglove/rostime on NPM ROS Time and Duration primitives and helper methods
@foxglove/xmlrpc MIT @foxglove/xmlrpc on NPM XMLRPC client and server with pluggable server backend

Development

  • yarn lint: run lint on specified file(s), or all files if not specified
  • yarn build: build all packages in topological order
  • yarn 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.