English
Detect duplicate workspace package names and report a clear error.
The Arborist fixture workspaces-duplicate is currently skipped because utoo does not detect when multiple workspace packages declare the same name in package.json. This can make workspace resolution ambiguous and should fail early with an actionable error.
Team Size
2 contributors.
Basic Requirements
- Familiarity with Rust basics.
- Ability to read workspace discovery/topology code.
- Ability to add unit tests and update E2E fixture skip lists.
Suggested Code Areas
crates/pm/src/service/workspace.rs
crates/pm/src/helper/ruborist_context.rs
e2e/pm-arborist.sh
e2e/pm/arborist/README.md
Expected Output
- Detect duplicate workspace names during workspace discovery or topology building.
- Error message includes the duplicated package name and related workspace paths.
- Unskip or update the
workspaces-duplicate Arborist fixture.
- Add regression tests.
Acceptance Criteria
- A project with duplicate workspace package names fails early.
- The error is deterministic and easy to understand.
- Existing valid workspace projects continue to work.
cargo fmt and cargo clippy --all-targets -- -D warnings --no-deps pass.
中文
检测重复的 workspace package name,并给出清晰错误。
当前 Arborist fixture workspaces-duplicate 处于 skip 状态,原因是多个 workspace 的 package.json 声明相同 name 时,utoo 尚未明确报错。这会导致 workspace 解析存在歧义,应尽早失败并给出可操作提示。
组队人数
2 人。
基本要求
- 熟悉 Rust 基础。
- 能阅读 workspace discovery/topology 相关代码。
- 能补充单元测试并更新 E2E fixture skip 列表。
建议关注代码
crates/pm/src/service/workspace.rs
crates/pm/src/helper/ruborist_context.rs
e2e/pm-arborist.sh
e2e/pm/arborist/README.md
目标产出
- 在 workspace discovery 或 topology 构建阶段检测重复名称。
- 错误信息包含重复的包名和相关 workspace 路径。
- 解除或更新
workspaces-duplicate Arborist fixture 的 skip 状态。
- 补充回归测试。
验收标准
- 存在重复 workspace package name 的项目会尽早失败。
- 错误信息稳定且易理解。
- 合法 workspace 项目行为不受影响。
cargo fmt 和 cargo clippy --all-targets -- -D warnings --no-deps 通过。
English
Detect duplicate workspace package names and report a clear error.
The Arborist fixture
workspaces-duplicateis currently skipped because utoo does not detect when multiple workspace packages declare the samenameinpackage.json. This can make workspace resolution ambiguous and should fail early with an actionable error.Team Size
2 contributors.
Basic Requirements
Suggested Code Areas
crates/pm/src/service/workspace.rscrates/pm/src/helper/ruborist_context.rse2e/pm-arborist.she2e/pm/arborist/README.mdExpected Output
workspaces-duplicateArborist fixture.Acceptance Criteria
cargo fmtandcargo clippy --all-targets -- -D warnings --no-depspass.中文
检测重复的 workspace package name,并给出清晰错误。
当前 Arborist fixture
workspaces-duplicate处于 skip 状态,原因是多个 workspace 的package.json声明相同name时,utoo 尚未明确报错。这会导致 workspace 解析存在歧义,应尽早失败并给出可操作提示。组队人数
2 人。
基本要求
建议关注代码
crates/pm/src/service/workspace.rscrates/pm/src/helper/ruborist_context.rse2e/pm-arborist.she2e/pm/arborist/README.md目标产出
workspaces-duplicateArborist fixture 的 skip 状态。验收标准
cargo fmt和cargo clippy --all-targets -- -D warnings --no-deps通过。