vite-patterns
Ajuda seu agente a configurar e otimizar o Vite, uma ferramenta de build. Permite ajustar o processo de compilação, gerenciar dependências e melhorar o desempenho de projetos web.
O que ela faz
Esta skill ajuda você a configurar e otimizar o Vite, uma ferramenta usada para construir projetos web. Ela explica como o Vite funciona, como ajustar suas configurações e como usar plugins para adicionar funcionalidades.
Quando usar
- ✓Ao configurar o arquivo `vite.config.ts`.
- ✓Ao ajustar como o Vite prepara seu projeto para produção.
- ✓Ao resolver problemas com o servidor de desenvolvimento ou o processo de build.
Exemplo do que pedir para a IA
“Como configuro o Vite para usar um proxy de API?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O Vite usa um servidor de desenvolvimento rápido que transforma seu código sob demanda. Para produção, ele agrupa seu código usando ferramentas como Rollup ou Rolldown, otimizando o tamanho e o desempenho. Ele também pré-agrupa dependências para acelerar o início.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add affaan-m/ECC --skill vite-patternsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/pi/core/skills/vite-patterns/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Padrões do Vite
Padrões de ferramenta de build e servidor de desenvolvimento para projetos Vite 8+. Abrange configuração, variáveis de ambiente, configuração de proxy, modo de biblioteca, pré-empacotamento de dependências e armadilhas comuns de produção.
Quando Usar
- Configurando
vite.config.tsouvite.config.js - Configurando variáveis de ambiente ou arquivos
.env - Configurando proxy do servidor de desenvolvimento para backends de API
- Otimizando a saída do build (chunks, minificação, assets)
- Publicando bibliotecas com
build.lib - Solucionando problemas de pré-empacotamento de dependências ou interoperabilidade CJS/ESM
- Depurando erros de HMR, servidor de desenvolvimento ou build
- Escolhendo ou ordenando plugins do Vite
Como Funciona
- Modo de desenvolvimento serve arquivos de origem como ESM nativo — sem empacotamento. As transformações acontecem sob demanda por solicitação de módulo, é por isso que os inícios frios são rápidos e o HMR é preciso.
- Modo de build usa Rolldown (v7+) ou Rollup (v5–v6) para empacotar o aplicativo para produção com tree-shaking, code-splitting e minificação baseada em Oxc.
- Pré-empacotamento de dependências converte dependências CJS/UMD em ESM uma vez via esbuild e armazena o resultado em cache sob
node_modules/.vite, para que inícios subsequentes pulem o trabalho. - Plugins compartilham uma interface unificada entre desenvolvimento e build — o mesmo objeto de plugin funciona tanto para as transformações sob demanda do servidor de desenvolvimento quanto para o pipeline de produção.
- Variáveis de ambiente são inlined estaticamente no tempo de build. Variáveis prefixadas com
VITE_se tornam constantes públicas no bundle; tudo sem prefixo é invisível para o código do cliente.
Exemplos
Estrutura de Configuração
Configuração Básica
// vite.config.ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
plugins: [react()],
resolve: {
alias: { '@': new URL('./src', import.meta.url).pathname },
},
})
Configuração Condicional
// vite.config.ts
import { defineConfig, loadEnv } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig(({ command, mode }) => {
const env = loadEnv(mode, process.cwd()) // VITE_ prefixed only (safe)
return {
plugins: [react()],
server: command === 'serve' ? { port: 3000 } : undefined,
define: {
__API_URL__: JSON.stringify(env.VITE_API_URL),
},
}
})
Opções Chave de Configuração
| Chave | Padrão | Descrição |
|---|---|---|
root |
'.' |
Raiz do projeto (onde index.html reside) |
base |
'/' |
Caminho base público para assets implantados |
envPrefix |
'VITE_' |
Prefixo para variáveis de ambiente expostas ao cliente |
build.outDir |
'dist' |
Diretório de saída |
build.minify |
'oxc' |
Minificador ('oxc', 'terser', ou false) |
build.sourcemap |
false |
true, 'inline', ou 'hidden' |
Plugins
Plugins Essenciais
A maioria das necessidades de plugin são cobertas por um punhado de pacotes bem mantidos. Use-os antes de escrever os seus próprios.
| Plugin | Propósito | Quando usar |
|---|---|---|
@vitejs/plugin-react-swc |
HMR do React + Fast Refresh via SWC | Padrão para aplicativos React (mais rápido que a variante Babel) |
@vitejs/plugin-react |
HMR do React + Fast Refresh via Babel | Apenas se você precisar de plugins Babel (emotion, decoradores MobX) |
@vitejs/plugin-vue |
Suporte a SFC do Vue 3 | Aplicativos Vue |
vite-plugin-checker |
Executa tsc + ESLint em thread de worker com overlay HMR |
Qualquer aplicativo TypeScript — o Vite NÃO faz verificação de tipos durante vite build |
vite-tsconfig-paths |
Honra aliases de tsconfig.json paths |
Sempre que você já tiver aliases em tsconfig.json |
vite-plugin-dts |
Emite arquivos .d.ts em modo de biblioteca |
Publicando bibliotecas TypeScript |
vite-plugin-svgr |
Importa SVGs como componentes React | Aplicativos React usando SVGs como componentes |
rollup-plugin-visualizer |
Relatório de treemap/sunburst do bundle | Auditorias periódicas de tamanho de bundle (use enforce: 'post') |
vite-plugin-pwa |
PWA + Workbox sem configuração | Aplicativos com capacidade offline |
Chamada crítica: vite build transpila, mas NÃO verifica tipos. Erros de tipo são enviados silenciosamente para produção, a menos que você adicione vite-plugin-checker ou execute tsc --noEmit em CI.
Criação de Plugins Personalizados
A criação é rara — a maioria das necessidades são cobertas por plugins existentes. Quando você precisar de um, comece inline em vite.config.ts e extraia apenas se for reutilizado.
// vite.config.ts — plugin inline mínimo
function myPlugin(): Plugin {
return {
name: 'my-plugin', // obrigatório, deve ser único
enforce: 'pre', // 'pre' | 'post' (opcional)
…
Perguntas frequentes
O que é HMR?
HMR (Hot Module Replacement) atualiza partes do seu código em tempo real no navegador sem recarregar a página inteira, tornando o desenvolvimento mais rápido.
Por que usar plugins no Vite?
Plugins estendem a funcionalidade do Vite, permitindo adicionar recursos como suporte a React, Vue, otimização de imagens, ou integração com PWA (Progressive Web Apps).
Como o Vite lida com variáveis de ambiente?
Variáveis de ambiente prefixadas com `VITE_` são incluídas no código do seu projeto para uso no frontend. Outras variáveis não são expostas por segurança.
Detalhes
Descrição original do autor
Vite build tool patterns including config, plugins, HMR, env variables, proxy setup, SSR, library mode, dependency pre-bundling, and build optimization. Activate when working with vite.config.ts, Vite plugins, or Vite-based projects.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #131
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
web-artifacts-builder
Ajuda seu agente a construir artefatos HTML complexos com tecnologias modernas. Ideal para interfaces com gerenciamento de estado e componentes avançados.
anthropics/skills
frontend-ui-engineering
Ajuda seu agente a criar interfaces de usuário bonitas e fáceis de usar. Faz com que o resultado pareça profissional e funcione bem em diferentes dispositivos.
addyosmani/agent-skills
export-nextjs-handoff
Faz seu agente transformar designs em código Next.js. Ele cria componentes, estilos e notas para facilitar o trabalho do desenvolvedor.
nexu-io/open-design