Skip to content

The removal verb empties the installed component set #314

Description

@sameera

As an adopter uninstalling Nexus, I want a verb that removes the components, so that removing the package does not leave a component set behind that nothing tracks.

Acceptance Criteria

  • Given an installed component set, when the removal verb runs, then no Nexus-namespaced component file remains at the configuration directory.
  • Given that same location holds files that are not Nexus-namespaced, when the verb runs, then they are untouched.
  • Given the verb runs, when its output is read, then it states that it must run before the package itself is removed, and why.
  • Given the install location points at a checkout's authored tree rather than a copy, when the removal verb runs, then it does not delete the checkout's files.
  • Given removal is expressed as a mirror of an empty payload, when it runs, then it completes normally rather than failing on an absent payload directory — the primitive's throw-on-missing-directory behaviour is either satisfied or explicitly changed, and which is stated.

Notes

Removal is the same primitive with an empty payload. The ordering — remove the components first, then the package — matters because the verb ships inside the package, and because the package manager has no record of a payload that was copied into the configuration directory. This is the same verify-before-remove ordering the close migration already uses.

AC4 is the sharp one: the checkout-pointing mode means the removal verb can be pointed at a maintainer's source tree, and deleting that would be catastrophic and silent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    infrastructureBuild tooling, Nx/Vite/pnpm config, dev environment, CI/CDstoryUser story (created by nxs-gh-create-story)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions