Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Fermée Adaptée aux débutants
#2,875 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Une pull request liée a déjà été fusionnée.

  • #2967 par @kshanxs — fusionnée

Évaluation

Difficulté
1/5
Temps estimé
Moins d'une heure
Accessibilité débutants
78/100
Type d'issue
Documentation
Clarté
Clairement spécifiée
Activité
Active
Stack technique
node.js, typescript
Domaine
documentation

Piste de recherche

La modification se fait dans la source de documentation derrière https://viteplus.dev/guide/troubleshooting#slow-config-loading-caused-by-heavy-plugins (une page dans la documentation du guide, probablement docs/guide/troubleshooting.md). Lisez l'astuce lazyPlugins existante, puis reproduisez avec les deux fichiers de configuration dans le corps de l'issue et vp fmt --check vite.config.ts pour voir la différence de 0.24s vs 0.60s. Terminé signifie que l'astuce indique que le import() lazy doit cibler des packages plutôt que des modules locaux, car les modules locaux sont empaquetés avec la config ainsi que leurs imports ; mentionnez éventuellement l'alternative configLoader: 'native'.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Rust
Étoiles
6.3k
Forks
283
Merge moyen
1 j 12 h
PR mergées (30 j)
205

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de voidzero-dev/vite-plus

Toutes les issues de voidzero-dev/vite-plus

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.