Resolve workspace paths for transitive remediation
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 54/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- bun, node.js, typescript
Research direction
Read src/remediation/npm-transitive-resolution.ts and src/scanner.ts, then inspect the package-manager workspace maps and existing remediation and fixture-scan tests. Run the workspace fixture scans for npm, Yarn, pnpm, and bun where supported, without manually injecting workspace metadata. Done means scan-level tests cover multiple workspace paths, root-only dependencies, and package-manager-specific commands while preserving root behavior when no workspace applies.
Written by the indexing model from the issue text.
Description
Summary
Workspace scans can produce root-level within-range remediation commands instead of member-aware commands. Update the transitive resolver to read workspace dependency paths and propagate the relevant workspace metadata into fix plans.
Context
In src/remediation/npm-transitive-resolution.ts, collectWorkspacesFromAllPaths currently considers only three-segment paths. A workspace path can include a workspace member as an additional segment. The scanner and resolver also need the appropriate package-manager workspace map to identify members.
In PR #1547, a real scan of the Yarn Berry workspace example was reported to print yarn up -R follow-redirects at the root. The workspace test supplies workspace metadata manually, so it does not establish how a real scan derives that metadata. The requester reports a similar root-level result for the npm workspace example. This behavior can affect npm, Yarn, pnpm, and bun.
Affected areas include src/remediation/npm-transitive-resolution.ts, src/scanner.ts, package-manager workspace maps, and remediation and fixture-scan tests.
Acceptance criteria
- Resolve workspace members from actual transitive dependency paths and pass the appropriate workspace metadata through the scanner and resolver.
- Add scan-level coverage for npm, Yarn, pnpm, and bun workspace fixtures where supported. Do not manually inject the workspace metadata being tested.
- Verify the resulting commands and their package-manager-specific behavior. Do not assume that Yarn's recursive refresh is limited to one workspace.
- Cover multiple workspace paths and root-only dependencies. Preserve correct root-level behavior when no workspace applies.
Requested by @RClaudiuM.
PR: https://github.com/OWASP/cve-lite-cli/pull/1547
Review discussion: https://github.com/OWASP/cve-lite-cli/pull/1547#discussion_r4496215037
- Dominant language
- TypeScript
- Stars
- 786
- Forks
- 189
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 97
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OWASP/cve-lite-cli
-
fix(pnpm): buildPnpmWorkspaceMap misses root dependencies on legacy lockfiles without importersPossibly taken @muntasir-396 claimed this 1 day ago. Openbug parser
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
OWASP/cve-lite-cli#1543 ·
Maintainers usually reply within 2 days
-
[Bug] --rule silently accepts unrecognised or lowercase rule IDs, masking override findings and exiting 0Possibly taken @coder-Yash886 claimed this 1 day ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OWASP/cve-lite-cli#1536 · 1 comment ·
Maintainers usually reply within 2 days
-
[Bug] --base accepts another flag as its branch name and drops --offlinePossibly taken @vianmangal claimed this 11 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OWASP/cve-lite-cli#1430 · 1 comment · 1 reaction ·
Maintainers usually reply within 2 days
-
CVE Lite CLI — Public Adoption TrackerMay be free again @Darshan3690 claimed this 13 days ago, and no pull request is open. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
OWASP/cve-lite-cli#1396 · 2 comments ·
Maintainers usually reply within 2 days
-
chore: fix TypeScript code quality violations from May 2026 auditPossibly taken @dyk1454683243-sudo claimed this 49 days ago. Openenhancement good first issue help wanted refactor
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
OWASP/cve-lite-cli#420 · 21 comments ·
Maintainers usually reply within 2 days
All issues in OWASP/cve-lite-cli
Similar issues
-
Waiting for: Product Owner
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
getsentry/sentry-javascript#26203 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
bytedance/flowgram.ai#1235 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
devswha/herdr-web-ui#3325 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100