Separate project lockfiles require loading each dependency hierarchy with its own lockfile directory. Keep those typed results until the recursive JSON renderer can serialize the complete array once. Joining independently serialized arrays produces invalid JSON. Reuse the existing loaders and renderers in both CLI implementations. Extract the v11 typed listing loader for the recursive caller, and keep Rust recursive orchestration in its own module within the file-size limit. Resolve each project's modules directory in every output format of a workspace whose projects keep their own lockfiles. Use the existing project configuration helpers to apply packageConfigs without leaking settings between projects, and look an entry up only under a name the project declares. Preserve per-project error context during loading and existing text formatting. Add command-level regressions that parse complete stdout and verify project-specific package paths and metadata. Canonicalize filesystem paths in assertions so equivalent Windows separators do not fail the tests. Closes pnpm/pnpm#15011. --------- Co-authored-by: Zoltan Kochan <z@kochan.io>
522 B
522 B
@pnpm/deps.inspection.commands, @pnpm/deps.inspection.list, pnpm, pacquet
| @pnpm/deps.inspection.commands | @pnpm/deps.inspection.list | pnpm | pacquet |
|---|---|---|---|
| patch | patch | patch | patch |
pnpm -r list --json now prints one JSON array. It printed a separate array for each project when sharedWorkspaceLockfile was false, so the output could not be parsed.
pnpm -r list now reads each project's own modules directory when the projects keep their own lockfiles, so --long and --parseable report the packages that project installed #15011.