create: overwrite follows target symlinks and deletes linked contents
Les mainteneurs répondent en général sous 1 jour
@leslieeilsel y travaille déjà.
Depuis le 11/8/2026.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Examinez le flux d’écrasement de vp create et l’ébauche de correction dans #2418, puis reproduisez le cas de symlink de cette issue sur macOS ou sur un autre système de fichiers local. C’est terminé lorsque vous avez confirmé que « Supprimer les fichiers existants et continuer » ne supprime pas de contenu en dehors de l’entrée du symlink et que le prompt ou le comportement rend explicitement visible toute cible résolue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
When vp create targets a non-empty directory symbolic link, choosing “Remove existing files and continue” deletes files inside the linked directory instead of removing or rejecting the link itself.
The confirmation prompt only displays the target path. It does not indicate that deletion will occur in the directory referenced by that path.
Reproduction
-
Create a directory containing a sentinel file:
mkdir linked-directory printf 'keep\n' > linked-directory/keep.txt -
Create a target directory symlink:
ln -s "$PWD/linked-directory" new-project -
Start any
vp createflow withnew-projectas its target directory. -
When prompted, select “Remove existing files and continue”.
-
Check the linked directory:
test -e linked-directory/keep.txt
Actual behavior
linked-directory/keep.txt is deleted. Other entries in the linked directory are also removed recursively, except for the existing .git preservation behavior.
Expected behavior
The overwrite flow should not implicitly traverse the final target symlink and delete its destination contents.
It should treat the symbolic link as a distinct filesystem entry, or otherwise make the resolved deletion target explicit before performing a destructive operation.
Impact
This can cause irreversible local data loss outside the symbolic-link entry shown by the prompt.
The trigger is limited: the create target must be a symbolic link and the user must confirm removal. This is therefore a low-frequency but high-impact local data-loss issue, not a remote security vulnerability.
Environment
- Reproduced on macOS arm64
- Node.js v25.9.0
- Vite+ revision:
295c8d6069605a249ed39e8c5e4d4d3d79e4be3e
A draft fix is available in #2418.
- Langage dominant
- Rust
- Étoiles
- 6.5k
- Forks
- 296
- Merge moyen
- 1 j 13 h
- PR mergées (30 j)
- 232
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de voidzero-dev/vite-plus
-
Docker guide: the runtime stage needs libatomic1 for Node.js 25 and laterPeut-être pris @kshanxs l’a pris aujourd’hui. Ouvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
voidzero-dev/vite-plus#3219 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
pending triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
voidzero-dev/vite-plus#2882 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
vp run -r executes each package task twice when the root package has a matching recursive scriptPeut-être pris @wan9chi l’a pris il y a 1 jour. Ouvertepending triage
voidzero-dev/vite-plus#3221 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
pending triage
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
voidzero-dev/vite-plus#3218 ·
Les mainteneurs répondent en général sous 1 jour
-
LSP loads vite.config.ts with the server's cwd as rootPeut-être pris @leaysgur l’a pris il y a 2 jours. Ouvertepending triage
voidzero-dev/vite-plus#3217 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de voidzero-dev/vite-plus
Issues similaires
-
bug easy good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
lacs-project/sysknife#659 ·
Les mainteneurs répondent en général sous 2 jours
-
Document multi-value claims with rowBoundaries operator:in (and their per-record application)Ouvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
registrystack/registry-stack#2431 ·
Les mainteneurs répondent en général sous 1 jour
-
contribution
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
farion1231/cc-switch#8863 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
dioxus-desktop on macOS: Finder file drops never fire `ondrop` — `dragenter` is not cancelledOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
DioxusLabs/dioxus#6006 ·
Les mainteneurs répondent en général sous 1 jour