Proposal: framework-aware application commands

Fechada
#3,107 0 comentários 2 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
28/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
nuxt, rust, typescript

Direção de pesquisa

Start with the vp dev, vp build, and vp preview command-routing entry points and the package-level configuration API used by vite.config.ts. Trace how project-level .bin binaries are currently discovered by vp exec, then define how a framework adapter supplies and receives command arguments. Done means framework commands such as nuxt dev run transparently, including help and passed arguments, while framework configuration remains owned by its own config.

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

Descrição

pending triage

Today's vp dev, vp build and vp preview are hard-written to run Vite+'s own vite, vite build, and vite preview. Users of meta frameworks like Nuxt have to use nuxt cli to start a dev server.

I propose introducing a framework-aware application commands, configured through a package-level framework API in vite.config.ts:

defineConfig({
  framework: nuxt(),
  fmt: { semi: false },
  /* ... */
})

Inside, nuxt(), it returns the correct command that vp dev should run, like nuxt dev. It would find binaries under project-level .bin, similar to vp exec.

Vite+ command Framework command
vp dev nuxt dev
vp build nuxt build
vp preview nuxt preview

This means Vite+ passes all arguments to the underlying commands themselves. The usage of vp dev would be the same as nuxt dev, vp dev --help also has the same output as nuxt --help.

Framework-specific configuration would remain in the framework‘s own config file. For example, nuxt.config.ts#vite would still be the source of truth for nuxt features. Vite+ would not automatically merge them from vite.config.ts, we may even consider printing warnings for this case.

Alternative: Why not swtich modes by reading nuxt.config.ts automatically

What we hope to do is not simply nuxt support. There are hundreds of active meta frameworks on the market. Relying entirely on Vite+ to handle the logic would be extremely centralized and difficult to maintain. (Even if doing so could reduce the likelihood of AI agents making mistakes)

Why does this matter, and why is this different from raw vite

In my opinion, Vite+ is the entry point of all development process, vp lint, vp check etc. For Nuxt users, vite cli is almost Invisible, because they have their own oxlint cli and may completely skip vite cli command. When developers and agents are already familiar with vp workflow, changing to nuxt or other cli is a significant change in habits.

Linguagem predominante
Rust
Estrelas
6.5k
Forks
297
Merge médio
20h 18min
PRs com merge (30d)
236

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.