Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.

O desafio de usar componentes shadcn em projetos Vite com React em JavaScript é real. A documentação parece fazer uma forte dependência de TypeScript, o que causa confusão para quem trabalha com JavaScript puro.
Na prática, o que acontece é que muitas configurações, como o arquivo tsconfig.json, aparecem como obrigatórias, mesmo quando a intenção é usar apenas JavaScript. Isso porque a estrutura dos componentes e as dependências internas do shadcn são otimizadas para TypeScript. A decisão fica mais saudável quando o time consegue medir o impacto depois.
Minha abordagem foi criar um projeto Vite com React em JavaScript, seguir a instalação padrão do Tailwind, e depois tentar adaptar o shadcn. O que ajudou bastante foi focar nas configurações de Babel e ESLint, para evitar erros de validação de tipos que não existem na minha base. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
No fim das contas, a solução envolve criar um ambiente que ignore as dependências de TypeScript, ajustando o build e as configurações de lint. É um pouco trabalhoso, mas dá para usar os componentes sem precisar migrar todo o projeto para TypeScript. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar.
Quem já tentou algo parecido, tem alguma dica de como simplificar essa integração? Ou se há alguma configuração específica que ajuda a evitar esses obstáculos?
Boa, mas cuidado com o impaccto na manutenção.
No meu time, a gente teve que criar um mock do tsconfig só pra evitar o erro, mesmo sem usar TypeScript de fato. Acho que dá pra fazer uma configuração mais limpa, mas precisa de atenção às dependências internas do shadcn.
A minha experiência é que o maior problema é mesmo o build, pq ele tenta valiadr tipos que não existem.