Skip to content

Conversation

@longlho
Copy link
Member

@longlho longlho commented Jan 6, 2026

Add transitive dependency support to formatjs_aggregate

TL;DR

Added support for transitive message aggregation and improved documentation for cross-platform compatibility.

What changed?

  • Added a new out attribute to formatjs_aggregate rule to specify custom output file names
  • Created a new transitive_messages example that demonstrates proper traversal of the dependency graph
  • Added comprehensive documentation about platform support (macOS, Linux, Windows)
  • Improved documentation with details about cross-platform builds, output groups, and usage patterns
  • Added a fixture file to verify transitive dependency resolution works correctly

How to test?

  1. Build the new transitive messages example:

    bazel build //examples/aggregate/app:transitive_messages
  2. Verify that messages from module1 are included even though it's only a transitive dependency:

    bazel test //examples/aggregate/app:aggregation_test
  3. Test on different platforms to verify consistent output across macOS, Linux, and Windows

Why make this change?

This change ensures that the formatjs_aggregate rule properly handles transitive dependencies, which is crucial for large monorepos where message dependencies might be nested several levels deep. The improved documentation makes it clear that the rules work across all major platforms without special configuration, which helps users understand the cross-platform capabilities of the toolchain.

@longlho longlho marked this pull request as ready for review January 6, 2026 14:59
Copy link
Member Author

longlho commented Jan 6, 2026

@longlho longlho merged commit 5da7705 into main Jan 6, 2026
10 checks passed
Copy link
Member Author

longlho commented Jan 6, 2026

Merge activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant