Migrar a Vite+
vp migrate ayuda a mover proyectos existentes a Vite+.
Vista General
Este comando es el punto de partida para consolidar configuraciones separadas de Vite, Vitest, Oxlint, Oxfmt, ESLint y Prettier en Vite+.
Úsalo cuando desees tomar un proyecto existente y moverlo a los valores predeterminados de Vite+ en lugar de configurar cada herramienta a mano.
Uso
vp migrate
vp migrate <ruta>
vp migrate --no-interactiveRuta de Destino
El argumento posicional RUTA es opcional.
- Si se omite,
vp migratemigra el directorio actual. - Si se proporciona, migra ese directorio de destino en su lugar.
vp migrate
vp migrate mi-appOpciones
--agent <nombre>escribe instrucciones para agentes en el proyecto.--no-agentomite la configuración de instrucciones para agentes.--editor <nombre>escribe archivos de configuración del editor en el proyecto.--no-editoromite la configuración del editor.--hooksconfigura los hooks de pre-commit.--no-hooksomite la configuración de hooks.--no-interactiveejecuta la migración sin preguntas.
Flujo de Migración
El comando migrate está diseñado para mover proyectos existentes a Vite+ rápidamente. Esto es lo que hace el comando:
- Actualiza las dependencias del proyecto.
- Reeascribe las importaciones donde sea necesario.
- Fusiona la configuración específica de la herramienta en
vite.config.ts. - Actualiza los scripts a la superficie de comandos de Vite+.
- Puede configurar hooks de commit.
- Puede escribir archivos de configuración para agentes y editores.
La mayoría de los proyectos requerirán ajustes manuales adicionales después de ejecutar vp migrate.
Flujo de Trabajo Recomendado
Antes de ejecutar la migración:
- Actualiza primero a Vite 8+ y Vitest 4.1+.
- Asegúrate de entender cualquier configuración existente de lint, formateo o pruebas que deba preservarse.
Después de ejecutar la migración:
- Ejecuta
vp install. - Ejecuta
vp check. - Ejecuta
vp test. - Ejecuta
vp build.
Prompt de Migración
Si deseas entregar este trabajo a un agente de IA (¡o si el lector es un agente!), usa este prompt de migración:
Migra este proyecto a Vite+. Vite+ reemplaza las herramientas actuales divididas en torno a la gestión del entorno de ejecución, gestión de paquetes, comandos dev/build/test, linting, formateo y empaquetado. Ejecuta `vp help` para entender las capacidades de Vite+ y `vp help migrate` antes de realizar cambios. Usa `vp migrate --no-interactive` en la raíz del espacio de trabajo. Asegúrate de que el proyecto esté usando Vite 8+ y Vitest 4.1+ antes de migrar.
Después de la migración:
- Confirma que las importaciones de `vite` se reescribieron a `vite-plus` donde fuera necesario.
- Confirma que las importaciones de `vitest` se reescribieron a `vite-plus/test` donde fuera necesario.
- Elimina las dependencias antiguas de `vite` y `vitest` solo después de confirmar esas reescrituras.
- Mueve la configuración restante específica de la herramienta a los bloques apropiados en `vite.config.ts`.
Mapeo de comandos a tener en cuenta:
- `vp run <script>` es el equivalente a `pnpm run <script>`.
- `vp test` ejecuta el comando de prueba integrado, mientras que `vp run test` ejecuta el script `test` del `package.json`.
- `vp install`, `vp add` y `vp remove` delegan a través del gestor de paquetes declarado por `packageManager`.
- `vp dev`, `vp build`, `vp preview`, `vp lint`, `vp fmt`, `vp check` y `vp pack` reemplazan las herramientas independientes correspondientes.
- Prefiere `vp check` para los bucles de validación.
Finalmente, verifica la migración ejecutando: `vp install`, `vp check`, `vp test` y `vp build`.
Resume la migración al final e informa sobre cualquier seguimiento manual que aún se requiera.Migraciones Específicas de Herramientas
Vitest
Vitest se migra automáticamente a través de vp migrate. Si estás migrando manualmente, tienes que actualizar todas las importaciones a vite-plus/test en su lugar:
// antes
import { describe, expect, it, vi } from 'vitest';
const { page } = await import('@vitest/browser/context');
// después
import { describe, expect, it, vi } from 'vite-plus/test';
const { page } = await import('vite-plus/test/browser/context');tsdown
Si tu proyecto usa un tsdown.config.ts, mueve sus opciones al bloque pack en vite.config.ts:
// antes — tsdown.config.ts
import { defineConfig } from 'tsdown';
export default defineConfig({
entry: ['src/index.ts'],
dts: true,
format: ['esm', 'cjs'],
});
// después — vite.config.ts
import { defineConfig } from 'vite-plus';
export default defineConfig({
pack: {
entry: ['src/index.ts'],
dts: true,
format: ['esm', 'cjs'],
},
});Después de fusionar, elimina tsdown.config.ts. Consulta la guía de Pack para ver la referencia de configuración completa.
lint-staged
Vite+ reemplaza lint-staged con su propio bloque staged en vite.config.ts. Solo se admite el formato de configuración staged. Los archivos .lintstagedrc independientes en formato no JSON y lint-staged.config.* no se migran automáticamente.
Mueve tus reglas de lint-staged al bloque staged:
// vite.config.ts
import { defineConfig } from 'vite-plus';
export default defineConfig({
staged: {
'*.{js,ts,tsx,vue,svelte}': 'vp check --fix',
},
});Después de migrar, elimina lint-staged de tus dependencias y elimina cualquier archivo de configuración de lint-staged. Consulta la guía de Hooks de commit y la referencia de configuración Staged para más detalles.
Ejemplos
# Migrar el proyecto actual
vp migrate
# Migrar un directorio específico
vp migrate mi-app
# Ejecutar sin preguntas
vp migrate --no-interactive
# Escribir configuración de agente y editor durante la migración
vp migrate --agent claude --editor zed