Validado JSONs no Javascript/Typescript/NodeJS
O Javascript e o Typescript não contam com ferramentas de validação de JSONs vindos de fora do sistema, ou seja, aquele JSON enviado para sua aplicação em NodeJS e configurado em um objeto não tem suas propriedades e tipos validados, e isso é muito sério.
Há algumas bibliotecas que podem ajudar nisso, a que me parece mais interessante é a Zod.
https://github.com/colinhacks/zod
- Zod
- Joi
- YUP
- io-ts
- Runtypes
- Ow
Breve descrição das bibliotecas
Zod
Me parece ser a mais fácil de usar e compatível com typescript e variáveis opcionais.
Joi
É uma das bibliotecas mais antigas e tradicionais, focada em Javascript puro.
Class Validator + Class Transformer
Class Validator
https://www.npmjs.com/package/class-validator
Class Transformer
https://www.npmjs.com/package/class-transformer
Tutoriais
Validando entradas
https://ichi.pro/pt/validar-a-entrada-json-em-node-js-e-typescript-e-cobrir-esses-cenarios-de-validacao-com-testes-de-unidade-205044753886897
Comparação de diferentes bibliotecas
Comparação de performance
https://github.com/moltar/typescript-runtime-type-benchmarks
Comparação de popularidade
https://www.npmtrends.com/ajv-vs-class-validator-vs-joi-vs-yup-vs-zod