Make rules_python, rules_nodejs, rules_foreign_cc dev_dependencies#370
Merged
tinder-maxwellelliott merged 1 commit intoJun 12, 2026
Conversation
These three bazel_deps exist only to bump transitive dependencies to Bazel 9 compatible versions, which only matters when building bazel-diff as the root module. rules_nodejs and rules_foreign_cc are referenced by no bazel-diff target; rules_python is pulled in transitively (proto codegen) regardless of the explicit edge. Marking them dev_dependency keeps them out of the dependency graph that downstream consumers inherit.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Marks
rules_python,rules_nodejs, andrules_foreign_ccasdev_dependency = TrueinMODULE.bazel.Why
Adding these non-dev
bazel_deps is disruptive to downstream consumers and should only be added if necessary.These
bazel_deps exist only to override transitive dependencies to Bazel 9 compatible versions — a concern that only applies when building bazel-diff itself as the root module.bazel mod graphconfirms all three are present transitively regardless, so the explicit edges only contribute a version pin (via MVS):rules_nodejsandrules_foreign_ccare referenced by no bazel-diff target;rules_pythonis supplied transitively (proto codegen). Keeping them out of the non-dev graph reduces what downstream consumers inherit.Testing
Verified with Bazel 9.1.0:
bazel build //...(dev deps active) — all 44 targets build.bazel test //cli/...(mirrors BCRbcr_test_module) — 22/22 pass.bazel build //:bazel-diff --ignore_dev_dependency(mirrors the BCRbuild_targetsjob: bazel-diff consumed as a non-root module, pins dropped, rules_python at 1.7.0) — builds successfully.