Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Fechada Para iniciantes
#2,875 4 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Um pull request relacionado já foi integrado.

  • #2967 de @kshanxs — integrado

Avaliação

Dificuldade
1/5
Tempo estimado
Menos de uma hora
Facilidade para iniciantes
78/100
Tipo de issue
Documentação
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
node.js, typescript
Domínio
documentation

Direção de pesquisa

A mudança vai para a fonte da documentação por trás de https://viteplus.dev/guide/troubleshooting#slow-config-loading-caused-by-heavy-plugins (uma página dentro da documentação do guia, provavelmente docs/guide/troubleshooting.md). Leia a dica existente de lazyPlugins e depois reproduza com os dois arquivos de configuração no corpo da issue e vp fmt --check vite.config.ts para ver a diferença de 0.24s vs 0.60s. Concluído significa que a dica afirma que o import() lazy deve ter como alvo pacotes em vez de módulos locais, porque módulos locais são empacotados com a config junto com seus imports; opcionalmente mencione a alternativa configLoader: 'native'.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Rust
Estrelas
6.5k
Forks
296
Merge médio
1d 2h
PRs com merge (30d)
227

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de voidzero-dev/vite-plus

Todas as issues de voidzero-dev/vite-plus

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.