feat: add aube workspace discovery#423
Open
okikio wants to merge 2 commits into
Open
Conversation
Allow workspace discovery and package-graph generation to treat aube-workspace.yaml as a first-class workspace marker. This keeps pnpm-workspace.yaml as the higher-priority marker when both are present (to support migration scenarios), and reuses the existing pnpm workspace YAML schema for the package globs. Adds unit tests for workspace-root detection and graph discovery to lock in the behavior.
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds support for discovering and loading workspaces defined by an aube-workspace.yaml marker file, treating it similarly to existing pnpm workspace YAML handling.
Changes:
- Introduces a new
WorkspaceFile::AubeWorkspaceYamlmarker and detection infind_workspace_root. - Extends package graph loading to parse
aube-workspace.yamlusing the existing pnpm workspace YAML schema. - Adds tests covering workspace root detection and graph discovery for
aube-workspace.yaml.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| crates/vite_workspace/src/package_manager.rs | Adds aube-workspace.yaml as a detectable workspace marker and tests for root detection. |
| crates/vite_workspace/src/lib.rs | Loads aube-workspace.yaml via the pnpm workspace YAML parser and adds an integration-style graph test. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Adds Aube workspace discovery to
vite_workspace. Part of the larger effort to add first-class Aube support to Vite+.Aube: https://aube.en.dev/ (repo: https://github.com/endevco/aube)
aube-workspace.yamlas a workspace-root marker.pnpm-workspace.yamlas the higher-priority marker when both exist.aube-workspace.yamlusing the same YAML shape as pnpm workspaces.Problem / Motivation
Aube isn't supported as part of Vite+, this includes Aube workspaces which requires the
vite_workspacecrate to be modified so it can look for Aube's reliable workspace-root marker. Without proper support invite_workspaeVite+'s workspace discovery and package graph building won't work the same way they do for pnpm/yarn/npm workspaces.The nuance is handling Aube's package manager compatibility features. Aube is able to read pre-existing npm/yarn/pnpm lock files, making it more awkward to determine the workspace format to use especially when there are multiple workspace yaml files.
Solution
WorkspaceFilewithAubeWorkspaceYaml.find_workspace_rootto detectaube-workspace.yaml.Behavior Changes
aube-workspace.yamlare now treated as workspaces byvite_workspace.Verification
Follow-up
pnpm-style diff selectors are being developed separately on
wip/diff-selectors.