fix(add): accept linkWorkspacePackages deep#799
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit abff7c0. Configure here.
| type = "bool" | ||
| default = "false" | ||
| type = '"false" | "true" | "deep"' | ||
| default = "\"false\"" |
There was a problem hiding this comment.
Numeric boolean values silently ignored after type change
Medium Severity
Changing linkWorkspacePackages from type = "bool" to an enum-style string union causes a silent regression for .npmrc and environment variable values of "1" or "0". Previously, the bool path used parse_bool which accepted "1" as true. Now the generated from_str_normalized only matches the literal strings "false", "true", and "deep" — so link-workspace-packages=1 in .npmrc or npm_config_link_workspace_packages=1 in the environment is unrecognized, silently falling back to the default False and disabling workspace linking.
Reviewed by Cursor Bugbot for commit abff7c0. Configure here.
Greptile SummaryThis PR teaches
Confidence Score: 4/5Safe to merge with the caveat that users who previously set The type migration from
Important Files Changed
|


Summary
linkWorkspacePackages: deepalongside boolean valuesdeepas workspace-link enabled foraube addTests
cargo test -p aube-settings link_workspace_packages -- --nocapturecargo test -p aube-manifest link_workspace_packages_deep -- --nocapturemise run test:bats test/pnpm_monorepo_index.bats --filter 'linkWorkspacePackages=deep'\n\nThis PR was generated by Codex.Note
Low Risk
Config parsing and
aube addmanifest behavior only; no auth or install-graph changes beyond aligning with pnpm’s tri-state setting.Overview
linkWorkspacePackagesnow accepts pnpm-styletrue,false, and"deep"(not just booleans). Workspace YAML deserializes the key as a rawyaml_serde::Value,settings.toml/ generated docs declare the union type, and resolution maps values toLinkWorkspacePackages(False/True/Deep).aube addenables workspace-sibling lookup whenever the resolved setting is anything other thanFalse, sodeepbehaves liketruefor manifest writes (e.g.workspace:^). Docs no longer claimdeepis unsupported; they describe it as an alias for add-time linking given install-time workspace preference.Regression coverage: manifest YAML parse, settings resolution from workspace yaml and
.npmrc, and a Bats monorepo case withlinkWorkspacePackages: deep.Reviewed by Cursor Bugbot for commit abff7c0. Bugbot is set up for automated code reviews on this repo. Configure here.