Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Task cache: no way to exclude a specific env var from env-enumeration fingerprints — inherited OLDPWD thrashes warm hits

Aperta
#2,414 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@wan9chi ci sta già lavorando.

Dal 11/8/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

pending triage

Summary

When a task's config chain enumerates the environment, cooperative tracking records the enumerated env vars into the task-cache fingerprint — including shell bookkeeping like OLDPWD that has no build meaning. OLDPWD changes with whichever directory the shell cd-ed into the repo from, so an otherwise-identical vp run build warm hit thrashes across shells and entry paths.

Repro sketch

Laravel app built through laravel-vite-plugin (its config chain reads .env and enumerates process.env), driven by vp run build:

  1. vp run --filter ./apps-web/<app> build twice — the second run is a full cache hit.
  2. Re-enter the repo from a different parent directory (so the shell exports a different OLDPWD) and run the same command — cache miss, with the env fingerprint as the only change.

Observed on vite-plus 0.2.2 and unchanged as of 0.2.7 (our pinned version). The v0.2.8 release notes list no related change.

What we tried

We could not find a vp-side config that excludes a specific env var from an enumeration-sourced record: untrackedEnv and negated env patterns (env: ['!OLDPWD']) did not suppress it in our testing (investigated during the same caching work as #1894 / #1774).

Workaround

Our monorepo CLI bootstrap does delete process.env.OLDPWD before spawning any vp subprocess. It works, but it only protects invocations that go through the wrapper — plain vp calls still thrash.

Ask

A first-class way to exclude named env vars from cooperative-tracking fingerprints, the way input globs filter file inputs — e.g. untrackedEnv: ['OLDPWD'] (or env: ['!OLDPWD']) applying to enumeration-sourced records, not just direct reads. A reasonable complement would be default-excluding well-known shell bookkeeping vars (OLDPWD, _, SHLVL) that can never carry build meaning.

Lingua principale
Rust
Stelle
6k
Fork
271
Merge medio
1g 12h
PR unite (30g)
198

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di voidzero-dev/vite-plus

Tutte le issue di voidzero-dev/vite-plus

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.