voidzero-dev / voidzero-dev/vite-plus

Improve security defaults for `vp install` and other commands when using `npm`

Ouverte
#1,419 4 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
pending triage
Langage dominant
Rust
Étoiles
5.8k
Forks
262
Merge moyen
23 h 18 min
PR mergées (30 j)
139

Description

### Description

It'd be nice if something could be done in vite-plus specifically to ensure secure defaults if a user is using npm.

See https://nesbitt.io/2026/03/31/npms-defaults-are-bad.html for examples.

### Suggested solution

For safety reasons, we should probably force `vp install` (when not passed a specific package to add) to map to `npm ci`, or at least maybe `npm install --prefer-offline`?

### Alternative

_No response_

### Additional context

It may also be a good idea to have `vp env doctor` point the user to various more-secure options as well, for example using min-release-age if not set, blocking scripts from running on-package-install (`--ignore-scripts`), and so on.

### Validations

- [x] Read the [Contributing Guidelines](https://github.com/voidzero-dev/vite-plus/blob/main/CONTRIBUTING.md).
- [x] Confirm this request is for Vite+ itself and not for Vite, Vitest, tsdown, Rolldown, or Oxc.
- [x] Check that there isn't already an issue requesting the same feature.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par les points d’entrée des commandes `vp install` et `vp env doctor`, puis retracez la manière dont les opérations reposant sur npm sélectionnent leurs valeurs par défaut. Clarifiez si le périmètre consiste à faire correspondre `vp install` sans paquet à `npm ci`, à utiliser `--prefer-offline` ou à ajouter des recommandations de sécurité telles qu’un âge minimal des releases et des scripts ignorés ; le travail est terminé lorsque les maintainers se sont mis d’accord sur un périmètre défini et que son comportement est couvert par des tests pertinents.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Domaine
cli, security
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.