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

`lazyPlugins` docs: dynamic import of a local module still slows down config loading

Abierto Apto para principiantes
#2,875 4 comentarios 0 reacciones 0 asignados Ver en GitHub

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

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 pending triage
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

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.