Skip to content

Merge ros3djs, ros2djs, and roslibjs into a monorepo #1048

@EzraBrooks

Description

@EzraBrooks

Discussed in #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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions