Skip to content

chore: remove remaining VP_HOME usage (especially snapshot tests) #2371

Description

@forehalo

Context

VpDirs resolution still honors deprecated VP_HOME as a full legacy-root pin for compatibility, but much of the repo still sets or assumes VP_HOME as the primary install root. That fights the split layout (VP_*_DIR / XDG_* / platform defaults) and keeps fixtures on a monolithic shape.

Follow-up to #2346 / #827.

Goal

Stop using VP_HOME except where it is required as a read-only deprecated override (custom roots). Prefer VP_BIN_DIR / VP_DATA_DIR / VP_CACHE_DIR and XDG/platform defaults everywhere else.

Scope (high signal)

  • PTY snapshot suite (crates/vp_cli_snapshots/): provision per-case homes with split dirs or explicit VP_*_DIR, not a permanent VP_HOME=~/.vite-plus baseline; update fixtures that expand $VP_HOME/...
  • CI / bootstrap: pnpm bootstrap-cli, GITHUB_PATH entries, scripts that export VP_HOME only to force legacy shape
  • Docs / comments / help strings that still describe VP_HOME as the default home
  • Tests that seed ~/.vite-plus solely to trigger grandfathering (replace with split targets or explicit VP_*_DIR)
  • Audit remaining set_var("VP_HOME") / VP_HOME: in Rust, TS, shell, and workflow YAML

Non-goals

  • Removing the deprecated read of VP_HOME in VpDirs resolution (keep until a later deprecation cut)
  • Auto-migrating on-disk ~/.vite-plus trees (tracked separately)

Acceptance

  • Snapshot runner and fixtures do not require VP_HOME for the default happy path
  • New tests document layout via VP_*_DIR / XDG / platform defaults
  • Grep for product code that sets VP_HOME is limited to documented custom-root / trampoline edge cases

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

Priority

None yet

Effort

None yet

Target date

None yet

Start date

None yet

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions