2

Quero deixar meus 10cents.. Porque não usar o zod? Com o zod você consegue resumir todos os "casos de uso" que mencinou com uma compatibilidade maior entre pacotes, com apenas uma camada voce resolve: tipagem, interfaces entre camadas da aplicação, validação de dados e ainda exporta schemas para OpenAPI/Swagger.

Em aplicações onde o tamanho é crucial, podemos usar o zod/mini, que implementa tudo com tree shaking reduzindo drasticamente o bundle final.

Achei bem legal o projeto, o open-source precisa de mais contribuidores igual a você, trago essa dúvida pois achei relevante, continue criando 🦾

Carregando publicação patrocinada...
2
1

Muito obrigado por compartilhar! 😸

Sim, esse artigo entra justamente mais a fundo nessa diferença entre is-kit e Zod.

E concordo com a ideia de trazer essa comparação para a discussão: para mim, não é tanto uma questão de escolher “Zod ou is-kit”, mas de entender onde cada abstração se encaixa melhor.

Obrigado por adicionar o link e enriquecer a conversa! 🙌

1

Muito obrigado pelo comentário e pela ótima colocação! 🦾

Concordo que o Zod consegue cobrir boa parte desses casos, e acho especialmente interessante quando o objetivo é ter um schema como fonte central para validação, tipos, contratos entre camadas e geração de JSON Schema/OpenAPI.

A diferença que tento estabelecer com o is-kit não é tanto sobre o que o Zod “consegue ou não consegue fazer”, mas sobre qual é a abstração principal.

O Zod parte de schemas e parsing/validation.

O is-kit parte de predicates/type guards reutilizáveis, pensados para serem usados diretamente no control flow normal do TypeScript — if, filter, error handling — e compostos como pequenas funções.

Por isso, não vejo is-kit e Zod como concorrentes. Pelo contrário, acho que podem coexistir muito bem:

schema validation / contracts → Zod
pequenos type guards e narrowing no control flow → is-kit

Em nosso caso, manter essa fronteira tem funcionado bem e deixa cada ferramenta responsável por um problema mais específico.

Mas essa é justamente uma das discussões que mais me interessam no projeto 😸

O que você acha dessa separação? Em quais casos você preferiria manter tudo centralizado no Zod?

Obrigado novamente pelo feedback — adoraria ouvir mais opiniões sobre isso!