Skip to content

Solución de Problemas ​

Usa esta página cuando algo en Vite+ no se esté comportando de la manera que esperas.

INFORMACIÓN

Vite+ está en beta: estable, pero aún no completo. Estamos agregando funciones en el camino hacia la versión 1.0 y priorizamos los comentarios de la comunidad, así que por favor contáctanos si algo no funciona como se espera.

Versiones de Herramientas Compatibles ​

Vite+ espera versiones modernas de las herramientas originales (upstream).

  • Vite 8 o más reciente.
  • Vitest 4.1 o más reciente.

Si estás migrando un proyecto existente que aún depende de versiones anteriores de Vite o Vitest, actualízalas primero antes de adoptar Vite+.

vp check no ejecuta las reglas de lint con conocimiento de tipos ni las comprobaciones de tipos ​

  • Confirma que lint.options.typeAware y lint.options.typeCheck están habilitados en vite.config.ts.
  • Comprueba si tu tsconfig.json aún utiliza compilerOptions.baseUrl.

El motor de comprobación de tipos de Oxlint, impulsado por tsgolint, no soporta baseUrl. vp migrate y vp lint --init intentan ejecutar el comando vp dlx @andrewbranch/ts5to6 --fixBaseUrl . para solucionarlo antes de habilitar el linting con conocimiento de tipos. Si esa solución falla o es rechazada, Vite+ omite typeAware y typeCheck.

La extensión de VS Code no lee vite.config.ts ​

Si VS Code tiene múltiples carpetas abiertas, el servidor de lenguaje Oxc compartido puede elegir un espacio de trabajo diferente al esperado. Esto puede hacer que parezca que falta soporte para vite.config.ts.

  • Confirma que la extensión está utilizando el espacio de trabajo previsto.

vp build no ejecuta mi script de construcción ​

A diferencia de los gestores de paquetes, los comandos integrados no pueden ser sobrescritos. Si intentas ejecutar un script de package.json, utiliza vp run build en su lugar.

Por ejemplo:

  • vp build siempre ejecuta la construcción integrada de Vite.
  • vp test siempre ejecuta el comando integrado de Vitest.
  • vp run build y vp run test ejecutan los scripts del package.json en su lugar.

INFORMACIÓN

También puedes ejecutar tareas personalizadas definidas en vite.config.ts y migrar por completo fuera de los scripts de package.json.

Comprobaciones Staged y Hooks de Commit ​

Si vp staged falla o tu hook de pre-commit no se ejecuta:

  • Asegúrate de que vite.config.ts contenga un bloque staged.
  • Ejecuta vp config para instalar los hooks.
  • Comprueba si la instalación de hooks se omitió intencionadamente mediante VITE_GIT_HOOKS=0.

Una configuración mínima de staged se ve así:

vite.config.ts
ts
import { defineConfig } from 'vite-plus';

export default defineConfig({
  staged: {
    '*': 'vp check --fix',
  },
});

Carga lenta de configuración causada por plugins pesados ​

Cuando vite.config.ts importa plugins en el nivel superior, se evalúan para cada comando, incluidos vp lint, vp fmt, integraciones de editor y procesos en segundo plano de larga duración. Esto puede hacer que la carga de la configuración sea lenta y puede desencadenar efectos secundarios en la configuración del plugin, como leer archivos, iniciar observadores o conectarse a servicios.

Usa lazyPlugins para omitir la fábrica de plugins cuando vite-plus carga tu configuración solo para leer un bloque de metadatos (lint, fmt, check, staged, pack, create, la búsqueda de tareas de run/cache y herramientas de editor). Los plugins aún se cargan cuando Vite se ejecuta realmente, es decir, dev, build, test, preview y cualquier compilación que generen tus propios scripts (una tarea de vp run, vp exec):

vite.config.ts
ts
import { defineConfig, lazyPlugins } from 'vite-plus';
import myPlugin from 'vite-plugin-foo';

export default defineConfig({
  plugins: lazyPlugins(() => [myPlugin()]),
});

Para plugins pesados que deberían ser importados perezosamente (lazy import), combínalo con un import() dinámico:

vite.config.ts
ts
import { defineConfig, lazyPlugins } from 'vite-plus';

export default defineConfig({
  plugins: lazyPlugins(async () => {
    const { default: heavyPlugin } = await import('vite-plugin-heavy');
    return [heavyPlugin()];
  }),
});

Pedir Ayuda ​

Si te has quedado bloqueado, por favor contáctanos:

  • Discord para discusiones en tiempo real y ayuda con problemas.
  • GitHub para incidencias, discusiones y reportes de errores.

Al informar de un problema, por favor incluye:

  • La salida completa de vp env current y vp --version.
  • El gestor de paquetes utilizado por el proyecto.
  • Los pasos exactos necesarios para reproducir el problema y tu vite.config.ts.
  • Un repositorio con una reproducción mínima o un entorno de ejecución (sandbox).