Skip to content

Add ability to index an entire workspace#104

Merged
vinistock merged 2 commits intomainfrom
08-14-add_the_ability_to_index_a_workspace_with_dependencies
Aug 21, 2025
Merged

Add ability to index an entire workspace#104
vinistock merged 2 commits intomainfrom
08-14-add_the_ability_to_index_a_workspace_with_dependencies

Conversation

@vinistock
Copy link
Member

@vinistock vinistock commented Aug 14, 2025

This PR adds the ability to index an entire workspace, including its dependencies, in a single API.

For now, I removed the ability to exclude directories. I want to create a proper configuration abstraction to propagate that through indexing.

Also, this gets us one step closer to #75, where we can hook the our CLI at the Ruby level, enabling things like:

index --verify-integrity

To index an entire workspace and verify integrity.

Note: one great aspect of using Bundler.locked_gems&.specs is that, even if Bundler.setup failed due to a gem not being installed, it still returns information for all of the gems that are installed. This allows us to partially index dependencies even if bundle install didn't fully succeed.

@vinistock vinistock mentioned this pull request Aug 14, 2025
Copy link
Member Author

vinistock commented Aug 14, 2025

This stack of pull requests is managed by Graphite. Learn more about stacking.

@vinistock vinistock self-assigned this Aug 14, 2025
@vinistock vinistock added the enhancement New feature or request label Aug 14, 2025 — with Graphite App
@vinistock vinistock force-pushed the 08-14-add_the_ability_to_index_a_workspace_with_dependencies branch from 466c4e8 to 563662a Compare August 14, 2025 20:06
@vinistock vinistock marked this pull request as ready for review August 14, 2025 20:06
@vinistock vinistock requested a review from a team as a code owner August 14, 2025 20:06
@vinistock vinistock force-pushed the 08-13-hook_up_ruby_api_for_the_global_graph branch from 3331efe to 0623f26 Compare August 15, 2025 13:43
@vinistock vinistock force-pushed the 08-14-add_the_ability_to_index_a_workspace_with_dependencies branch from 563662a to ad28493 Compare August 15, 2025 13:43
@vinistock vinistock mentioned this pull request Aug 15, 2025
Copy link
Contributor

@Morriar Morriar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we could use something like https://docs.rs/ignore/latest/ignore/ for the parallel walk?

@vinistock vinistock force-pushed the 08-14-add_the_ability_to_index_a_workspace_with_dependencies branch from ad28493 to 9c7e24d Compare August 15, 2025 15:17
@vinistock vinistock force-pushed the 08-13-hook_up_ruby_api_for_the_global_graph branch from 0623f26 to 7bd2bc2 Compare August 15, 2025 15:17
@vinistock vinistock force-pushed the 08-14-add_the_ability_to_index_a_workspace_with_dependencies branch from bf7fcda to 798b7ec Compare August 15, 2025 15:22
@vinistock
Copy link
Member Author

I wonder if we could use something like https://docs.rs/ignore/latest/ignore/ for the parallel walk?

To make use of gitignore? I don't think we can assume that git ignored files should not be indexed. I can imagine some app that does some templating of files like Prism and then we'd miss those.

@vinistock vinistock force-pushed the 08-14-add_the_ability_to_index_a_workspace_with_dependencies branch from 798b7ec to ab69d15 Compare August 18, 2025 15:27
@vinistock vinistock force-pushed the 08-13-hook_up_ruby_api_for_the_global_graph branch from 7bd2bc2 to c0e185d Compare August 18, 2025 19:33
@vinistock vinistock force-pushed the 08-14-add_the_ability_to_index_a_workspace_with_dependencies branch from ab69d15 to acb41e8 Compare August 18, 2025 19:33
@vinistock vinistock force-pushed the 08-13-hook_up_ruby_api_for_the_global_graph branch from c0e185d to 15d517f Compare August 18, 2025 19:47
@vinistock vinistock force-pushed the 08-14-add_the_ability_to_index_a_workspace_with_dependencies branch from acb41e8 to 9b24573 Compare August 18, 2025 19:47
@vinistock vinistock force-pushed the 08-13-hook_up_ruby_api_for_the_global_graph branch from 15d517f to 96f99e2 Compare August 21, 2025 20:45
@vinistock vinistock force-pushed the 08-14-add_the_ability_to_index_a_workspace_with_dependencies branch from 9b24573 to 3fd5584 Compare August 21, 2025 20:45
@vinistock vinistock changed the base branch from 08-13-hook_up_ruby_api_for_the_global_graph to graphite-base/104 August 21, 2025 21:07
@vinistock vinistock force-pushed the 08-14-add_the_ability_to_index_a_workspace_with_dependencies branch from 3fd5584 to e680669 Compare August 21, 2025 21:07
@graphite-app graphite-app bot changed the base branch from graphite-base/104 to main August 21, 2025 21:08
@vinistock vinistock force-pushed the 08-14-add_the_ability_to_index_a_workspace_with_dependencies branch from e680669 to 2b01a03 Compare August 21, 2025 21:08
@vinistock vinistock merged commit 5cf4419 into main Aug 21, 2025
11 checks passed
Copy link
Member Author

Merge activity

@vinistock vinistock deleted the 08-14-add_the_ability_to_index_a_workspace_with_dependencies branch August 21, 2025 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants