Skip to content

feat: add aube workspace discovery#423

Open
okikio wants to merge 2 commits into
voidzero-dev:mainfrom
ThunderStrike:add-aube-support
Open

feat: add aube workspace discovery#423
okikio wants to merge 2 commits into
voidzero-dev:mainfrom
ThunderStrike:add-aube-support

Conversation

@okikio
Copy link
Copy Markdown

@okikio okikio commented Jun 4, 2026

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)

  • Detect aube-workspace.yaml as a workspace-root marker.
  • Keep pnpm-workspace.yaml as the higher-priority marker when both exist.
  • Load workspace packages from aube-workspace.yaml using 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_workspace crate to be modified so it can look for Aube's reliable workspace-root marker. Without proper support in vite_workspae Vite+'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

  • Extend WorkspaceFile with AubeWorkspaceYaml.
  • Teach find_workspace_root to detect aube-workspace.yaml.
  • Update graph discovery to treat Aube workspaces like pnpm workspaces for package pattern expansion.

Behavior Changes

  • Repos containing aube-workspace.yaml are now treated as workspaces by vite_workspace.

Verification

  • Added new tests for Aube
  • All tests pass

Follow-up

pnpm-style diff selectors are being developed separately on wip/diff-selectors.

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.
Copilot AI review requested due to automatic review settings June 4, 2026 04:46
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

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::AubeWorkspaceYaml marker and detection in find_workspace_root.
  • Extends package graph loading to parse aube-workspace.yaml using 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.

Comment thread crates/vite_workspace/src/package_manager.rs Outdated
Comment thread crates/vite_workspace/src/lib.rs
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.

2 participants