`lazyPlugins` docs: dynamic import of a local module still slows down config loading
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
- Área
- documentation
Línea de trabajo
El cambio se aplica en la fuente de documentación detrás de https://viteplus.dev/guide/troubleshooting#slow-config-loading-caused-by-heavy-plugins (una página dentro de la documentación de la guía, probablemente docs/guide/troubleshooting.md). Lee el consejo existente de lazyPlugins y luego reproduce con los dos archivos de configuración del cuerpo del issue y vp fmt --check vite.config.ts para ver la diferencia de 0.24s vs 0.60s. Hecho significa que el consejo indique que el import() lazy debe apuntar a paquetes en lugar de módulos locales, porque los módulos locales se empaquetan con la config junto con sus imports; opcionalmente menciona la alternativa configLoader: 'native'.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Documentation is
- Missing
- Outdated
- Confusing
- Not sure
Explain in Detail
The troubleshooting section suggests lazyPlugins with dynamic import() for heavy plugins. This only helps if the imports target packages.
Standalone Oxfmt and Oxlint read JSON configs. In Vite+, vp fmt, vp lint, and editor integrations read the fmt and lint blocks from vite.config.ts via resolveConfig({ configFile }, 'build'), which uses configLoader: 'bundle'. The bundler follows import('./vite.plugins.ts') and processes its package imports, even though lazyPlugins skips the callback and the module never executes.
vp fmt --check vite.config.ts, median of 5 runs:
plugins |
Time |
|---|---|
| None | 0.24s |
lazyPlugins + await import('<package>') |
0.24s |
lazyPlugins + await import('./vite.plugins.ts') |
0.60s |
lazyPlugins + await import('./vite.empty.ts') (no imports) |
0.24s |
lazyPlugins + await import(new URL('./vite.plugins.ts', import.meta.url).href) |
0.24s |
vite-plus 1.0.0, Node.js 26.10.0, pnpm 12.6.0, Linux x64. Related: #2845
Your Suggestion for Changes
Note that the lazy import() should target packages, not local modules. Local modules are bundled with the config, including their imports.
Alternatively, metadata-only loads could skip bundling (e.g. configLoader: 'native').
Relevant Page
https://viteplus.dev/guide/troubleshooting#slow-config-loading-caused-by-heavy-plugins
Reproduction (Optional)
No response
Steps to reproduce (Optional)
// vite.plugins.ts
import { sentrySvelteKit } from '@sentry/sveltekit/vite';
import { sveltekit } from '@sveltejs/kit/vite';
import tailwindcss from '@tailwindcss/vite';
export const plugins = [tailwindcss(), sentrySvelteKit(), sveltekit()];
// vite.config.ts
import { defineConfig, lazyPlugins } from 'vite-plus';
export default defineConfig({
plugins: lazyPlugins(async () => {
const { plugins } = await import('./vite.plugins.ts');
return plugins;
}),
fmt: {},
});
Run vp fmt --check vite.config.ts, then compare with the plugins imported from packages directly inside lazyPlugins.
- Lenguaje dominante
- Rust
- Estrellas
- 6k
- Forks
- 271
- Merge medio
- 22 h 58 min
- PR fusionados (30 d)
- 150
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de voidzero-dev/vite-plus
-
pending triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
voidzero-dev/vite-plus#2892 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
pending triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
voidzero-dev/vite-plus#2882 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
voidzero-dev/vite-plus#2849 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
`vp migrate` fails when there is no `package.json`Posiblemente ocupada @TheAlexLichter la tomó hace 10 días. Abiertopending triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
voidzero-dev/vite-plus#2801 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
voidzero-dev/vite-plus#2097 · 10 comentarios · 2 reacciones ·
Los mantenedores suelen responder en 1 día
Todos los issues de voidzero-dev/vite-plus
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
zcashlabs/thus-spoke-zakura#153 ·
Los mantenedores suelen responder en 1 día
-
claude_code: step fails on session-scoped (`@inline`) plugins with `Invalid scope "session"`Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
topgrade-rs/topgrade#2395 ·
Los mantenedores suelen responder en 1 día
-
app bug windows-os
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
matrix-org/matrix-rust-sdk#7217 ·
Los mantenedores suelen responder en 1 día
-
Improve sublime text syntaxAbiertoeditor good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
funnyboy-roks/inq#54 ·