Skip to content
This repository was archived by the owner on May 14, 2026. It is now read-only.
This repository was archived by the owner on May 14, 2026. It is now read-only.

Resolve workspace dir for install prefix #357

@zkochan

Description

@zkochan

Background

Install::run in crates/package-manager/src/install.rs emits pnpm:stage events with a prefix field. Upstream pnpm sets this to lockfileDir — the directory containing pnpm-lock.yaml, which for a workspace install equals the workspace root.

Pacquet has no workspace support yet, so the current code uses manifest.path().parent() as a stand-in. This is correct for single-package installs but will be wrong once workspace installs land.

Ask

When workspace support lands, replace the manifest-parent fallback with a resolved workspace dir. The upstream helper to mirror is findWorkspaceDir, which walks up from the cwd looking for pnpm-workspace.yaml:

Per-importer stage events should each carry the importer's own prefix so the JS reporter can attribute progress correctly.

Acceptance

  • findWorkspaceDir-equivalent helper exists and is used by Install::run.
  • prefix matches pnpm for both single-package and workspace installs.
  • Test coverage for both shapes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    rustPull requests that update Rust code

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions