roslibjs
roslibjs copied to clipboard
Merge ros3djs, ros2djs, and roslibjs into a monorepo
Discussed in https://github.com/RobotWebTools/roslibjs/discussions/992
Originally posted by EzraBrooks November 4, 2025 These libraries are pretty old, so I suspect these packages were split in an effort to reduce minified bundle size - i.e. the previous recommended way to use roslibjs via a CDN.
However, now:
- The cross-package dependencies between the three are causing problems (i.e. TF2Client ROS2 compatibility in ros3djs)
- The great majority of applications in the wild use bundlers that can tree-shake out code that you're not using
- Computers, browsers, HTTP, and the internet are way faster, and slightly larger bundle sizes in favor of a more coherent API and maintenance surface may be preferable.
I think we should merge all three into a monorepo using npm workspaces and the process we developed in Space ROS for merging repository history while preserving issue/PR references in commit messages.