roslibjs icon indicating copy to clipboard operation
roslibjs copied to clipboard

Merge ros3djs, ros2djs, and roslibjs into a monorepo

Open EzraBrooks opened this issue 2 months ago • 0 comments

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.

EzraBrooks avatar Nov 11 '25 15:11 EzraBrooks