voidzero-dev / voidzero-dev/vite-plus
Improve security defaults for `vp install` and other commands when using `npm`
- 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