Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

PowerShell `vp` wrapper hides failures: `$?` is `True` and `&&` keeps going after `vp` fails

Cerrado Apto para principiantes
#2,934 2 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@fengmk2 ya está trabajando en esto.

Desde el 8/10/2026.

  • #2947 de @fengmk2 — fusionado

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
powershell, rust, typescript
Área
cli

Línea de trabajo

Empieza leyendo la función vp en env.ps1 y compara su comportamiento de estado en PowerShell con la ejecución directa de vp.exe. Reproduce el fallo con un comando que haga fallar vp pack y luego comprueba $LASTEXITCODE, $? y una cadena &&. El trabajo está completo cuando el wrapper informa del fallo mediante $? e impide que la cadena continúe.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug pending triage
Describe the bug

In PowerShell, the vp function defined in env.ps1 loses the exit status of the vp.exe binary. When a command fails, $LASTEXITCODE is set correctly, but $? is True.

Reproduction

see below

Steps to reproduce

example vite.config.ts:

export default defineConfig({
  pack: {
    entry: 'src/does-not-exist.js'
  },
});

In powershell:

> vp pack
VITE+ - The Unified Toolchain for the Web

ℹ entry: src/does-not-exist.js
...
error: Build failed with 1 error:

[UNRESOLVED_ENTRY] Cannot resolve entry module src/fail.js.

    at ...

> "$LastExitCode $?"
1 True

vp pack returns with exit code 1 (good), and with status True (bad).

running vp.exe directly does not have this issue:

> vp.exe pack           
VITE+ - The Unified Toolchain for the Web

ℹ entry: src/does-not-exist.js
...
error: Build failed with 1 error:

[UNRESOLVED_ENTRY] Cannot resolve entry module src/fail.js.

    at ...

> "$LastExitCode $?"    
1 False

with vp.exe, $? correctly outputs False, which correctly breaks && chains for example

System Info
> vp env current
VITE+ - The Unified Toolchain for the Web

Node.js:
  Version    26.11.0
  Source     devEngines.runtime
  Bin Path   C:\Users\me\AppData\Local\vite-plus\data\js_runtime\node\26.11.0\node.exe
  Installed  true
  Mode       managed

Package Manager:
  Name       npm
  Version    12.2.0
  Source     devEngines.packageManager
  Bin Paths  
    npm      C:\Users\me\AppData\Local\vite-plus\data\package_manager\npm\12.2.0\npm\bin\npm.cmd
    npx      C:\Users\me\AppData\Local\vite-plus\data\package_manager\npm\12.2.0\npm\bin\npx.cmd
  Installed  true
  Mode       managed

> vp --version  
VITE+ - The Unified Toolchain for the Web

vp v1.1.0

Local vite-plus:
  vite-plus  v1.1.0

Tools:
  vite             v8.3.3
  rolldown         v1.2.12
  vitest           v5.0.3
  oxfmt            v0.72.0
  oxlint           v1.87.0
  oxlint-tsgolint  v7.0.2003
  tsdown           v0.23.0

Environment:
  Package manager  npm ^12.2.0
  Node.js          v26.11.0 (devEngines.runtime)
Used Package Manager

npm

Logs

Validations
Lenguaje dominante
Rust
Estrellas
6k
Forks
274
Merge medio
1 d 11 h
PR fusionados (30 d)
206

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de voidzero-dev/vite-plus

Todos los issues de voidzero-dev/vite-plus

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.