bazel-contrib / bazel-contrib/vscode-bazel

Handle external dependencies

Open
#416 0 comments 0 reactions 0 assignees View on GitHub
type: feature request
Dominant language
TypeScript
Stars
296
Forks
108
Avg merge
3d 22h
Merged PRs (30d)
5

Description

Seems the current plugin implementation does not handle the external dependencies well: when specify "Query Expression" in configuration like: `@repo//...`, the tree explorer, coverage, and the quick pick is not showing the dependencies from external dependencies. This makes some workspaces that's organized in assembling `local_repository` rules not working.

I already have several local workaround fixes for this, but it would be better to also append the test cases for better coverage and prevent regressions for existing users..

- [x] Coverage: handle the generated report path's `SF:external//....` entries.
- [ ] Quick picks: replace hard coded queries like `//...:*` or `//...`) to query expressions. Not sure if we have to use separate query for packages and targets.
- [ ] Code lens: still exploring / surveying. Seems we have to map the BUILD files back to `@repo//path:BUILD`, which is a opposite direction to those mapping in tree explorer and coverage.
- [ ] Tree explorer:
- [ ] Replace hard coded queries to query expression.
- [ ] Make the grouping handles the package name starting with `@//`.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the plugin areas responsible for coverage, quick picks, code lens, and tree explorer, along with existing tests for external dependencies. Work through the unchecked checklist items and verify that Query Expression values such as @repo//... are handled consistently without regressions.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
developer-experience, tooling
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.