Skip to content

Comments

Expose pnpm workspace packages as individual build targets#1644

Draft
jagonalez wants to merge 2 commits intofeat/yarn-workspace-build-targetsfrom
feat/pnpm-workspace-build-targets
Draft

Expose pnpm workspace packages as individual build targets#1644
jagonalez wants to merge 2 commits intofeat/yarn-workspace-build-targetsfrom
feat/pnpm-workspace-build-targets

Conversation

@jagonalez
Copy link
Contributor

Summary

  • Extends workspace build target support to pnpm projects
  • Adds resolveImporterPaths to map package names (build targets) to pnpm lockfile importer paths (e.g. ".", "packages/a")
  • Updates buildGraph in PnpmLock.hs to accept an optional importer filter, scoping analysis to selected workspace members
  • Adds unit tests for importer path resolution and lockfile filtering

Test plan

  • resolveImporterPaths tests: maps root to ".", workspace members to relative paths, returns Nothing for ProjectWithoutTargets
  • buildGraph filtering tests: root-only filter excludes workspace deps, workspace-only filter excludes root deps
  • All 12 Node tests and 17 Pnpm tests pass
  • hlint and fourmolu clean
  • Manual test with a real pnpm workspace project

🤖 Generated with Claude Code

jagonalez and others added 2 commits February 18, 2026 12:30
Extends workspace build target support to pnpm. The pnpm lockfile
analyzer now accepts an optional set of selected importer paths,
filtering which importers contribute direct dependencies to the graph.

The mapping from build target names (package names) to pnpm importer
paths (relative directory paths like ".", "packages/a") is resolved
via the PkgJsonGraph.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…xtract helpers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant