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

Muitos desenvolvedores têm encontrado dificuldades ao integrar os componentes shadcn em projetos Vite + React usando JavaScript. Apesar da documentação indicar suporte, parece que há uma dependência forte do TypeScript para que tudo funcione sem problemas.
No meu time, já passei por isso e percebi que a maior dor é a necessidade de criar um arquivo tsconfig.json, mesmo que o projeto seja em JavaScript. Isso acaba complicando a rotina, principalmente para quem não trabalha com TS. A decisão fica mais saudável quando o time consegue medir o impacto depois.
Para quem está pensando em usar esses componentes, fica a dica: se a sua stack é JavaScript, prepare-se para lidar com essa dependência ou considere adaptar os componentes para evitar o uso do TypeScript. Essa questão pode impactar o tempo de integração e a manutenção do projeto, mas há caminhos práticos para contornar. Sem esse critério, a solução pode parecer simples no começo e cara no suporte.
A implementação de componentes de UI que sejam flexíveis e que possam ser utilizados em diferentes stacks ainda é um ponto de atenção. Talvez seja interessante pensar em alternativas que não exijam tanta configuração, ou até mesmo criar suas próprias versões desses componentes, ajustando às necessidades do projeto. 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.
O que vocês têm feito para lidar com esse tipo de dependência em projetos que precisam ser mais leves e rápidos de ajustar?
No meu time, a maior dor é justamente essa dependência do TS. Acho que dá pra adaptar os componentes, mas fica a gambi arra na rotina. Alguém já conseguiu usar sem o tsconfig?
Já tentei montar um projeto em JS, mas sempre acabo tendo que criar o arquivo tsconfig, mesmo sem usar TS de fato. É um ponto que deveria estar mais claro na documentação.
Acho que o maior desafio é a compatibilidade mesmo, e o fato de que muita gente não quer ficar passando por esse setup se não for necessário. Ainda assim, os componentes são massa, vale a pena o esforço em projetos mais complexos.