Спасибо за видео! Как по мне, так это хорошая замена библиотеке class-validator Но, на бэке для респонса использую Automapper. Что на счет его использования вместе с zod? Или может быть есть какая-то хорошая альтернатива автомапперу?
Спасибо за видео! Я еще видел вариант, когда берут какую-то спецификацию swagger/graphql и из нее кодгеном делают полноценную sdk для работы с бекендом И тоже хранят в npm для удобного доступа. Что думаете о таком способе?
Антон, как ты добился такого вида статус бара в tmux?, визуально выглядит как nvchad. Я о нижней строке, это же tmux? И когда уже будет обзор на nvchad?)
Антон, добрый день! С интересом посмотрел видео. Пытаюсь накинуть в свой проект. Все замечательно работает: и входные данные валидируются и выходные парсятся в необходимый тип (теперь в ORM Prisma не надо заморачиваться с тем, какие поля вытаскивать в селект и т. ). Но возникли трудности с парсингом для полей типа Prisma.Decimal. Можете подсказать элегантное решение?
nestjs-zod в документации предлагают создавать схемы при помощи модифицированной версии zod'a и импортироваться из nestjs-zod/z. Я могу такую схему юзать на фронте тоже? Чем они отличаются? Просто добавлением дополнительных методов к уже имеющимся?
Можно показать пример, как использовать ZOD для get запросов а именно с query params. Загвоздка в том, что все гет параметры считаются как string, в этом случае boolean и number не пройдут валидацию через zod. Спасибо заранее
оо, так это ж получается, что эти валидации теперь и в формочки можно подсовывать? чтобы бек лишний раз не дергать за ошибками, а на клиенте уже их светить
я сейчас с проблемой столкнулся, для запуска frontend я использую vercel, он бесплатный и сильно упрощает запуск приложения. Но nestjs приложение там запускать нельзя или по крайне мере оно будет ограничено. Ктонибудб знает что можно использовать для такого же простого и удобного запуска nestjs как vercel?
под капотом оно делает не строгие типы. Я пытаюсь передать дто в сервис, в котором тип призмы и поле там строгое, не получается. Он жалуется, что некоторые поля опциональные@@PurpleSchool
круто) покажи еще, плиз, генерацию опен-апи спеки и генерацию фетчеров для клиента и было бы круто еще к этому премеру зод подключить, чтобы показать, как оно всё вместе) но раз там будет сваггер, то нет смысла контракты генерить по зоду, по спеке же будет всё генериться, да?
Если собрать все в монорепо, то не придется ничего никуда паблишить, ну и валидацию хочется делать как на фронте, так и на бэке. Ждем пока Камиль догадается подкинуть zod из коробки вместо отвратительного class-validator.
🔗 Ссылки:
🎓 Мои курсы по разработке: purpleschool.ru
💬 Telegram канал с полезными советами:
t.me/purple_code_channel
Почему я не видел этот канал раньше. Очень хороший контент!
Спасибо!
Антон, какая ж это красота! Крутое решение. Определённо буду использовать его в проектах. Большое спасибо за видео)))
Спасибо!
всегда интересные и качественные видео!! Спасибо большое!
Пожалуйста!
стоит ли сейчас использовать nestjs-zod? Я прочитал что автор написал о том что пакет больше не поддерживается им
Очень полезное видео!!! http запросы через какое расширение делаешь?
Через httpie
Спасибо, видео просто огонь 🔥
А ответ от сервера тоже проходит валидацию через zod?
В данном примере нет, но можно сделать. Хотя при строгой типизации на беке это будет излишне
Спасибо за видео!
Как по мне, так это хорошая замена библиотеке class-validator
Но, на бэке для респонса использую Automapper. Что на счет его использования вместе с zod? Или может быть есть какая-то хорошая альтернатива автомапперу?
Спасибо! Вместе с автомаппером не использовал
Спасибо за видео!
Я еще видел вариант, когда берут какую-то спецификацию swagger/graphql и из нее кодгеном делают полноценную sdk для работы с бекендом
И тоже хранят в npm для удобного доступа. Что думаете о таком способе?
Вполне тоже вариант рабочий
Антон, как ты добился такого вида статус бара в tmux?, визуально выглядит как nvchad. Я о нижней строке, это же tmux? И когда уже будет обзор на nvchad?)
Да, это он. У меня на канале есть видео его настройки. Nvchad будет следующим
@@PurpleSchool видео по tmux смотрел, просто интересно как сделал такой красивый статус бар в tmux, что он выглядит как статус бар nvchad-а))
Антон, добрый день! С интересом посмотрел видео. Пытаюсь накинуть в свой проект. Все замечательно работает: и входные данные валидируются и выходные парсятся в необходимый тип (теперь в ORM Prisma не надо заморачиваться с тем, какие поля вытаскивать в селект и т. ). Но возникли трудности с парсингом для полей типа Prisma.Decimal. Можете подсказать элегантное решение?
Мне кажется типы Prisma не надо использовать в dto
nestjs-zod в документации предлагают создавать схемы при помощи модифицированной версии zod'a и импортироваться из nestjs-zod/z. Я могу такую схему юзать на фронте тоже? Чем они отличаются? Просто добавлением дополнительных методов к уже имеющимся?
Чтобы использовать на фронте надо будет туда её и тянуть, а это не очень хорошее решение
Класс. Плавно подошли к монорепам?)
Тоже рассмотрим)
Можно показать пример, как использовать ZOD для get запросов а именно с query params. Загвоздка в том, что все гет параметры считаются как string, в этом случае boolean и number не пройдут валидацию через zod. Спасибо заранее
В рамках Zod можно задать трансформацию при получении, а затем валидацию
Npm пакет получился публичным, возможно сделать приватным, но на уровне компании этим удобно пользоваться?
Можно, но нужно будет или npm платить 7$ за пользователя или делать свой приватный регистри.
@@PurpleSchool , понял, спасибо
А где можно скачать твой конфиг консоли и vim?
Будет разбор и ссылка в следующем видео
оо, так это ж получается, что эти валидации теперь и в формочки можно подсовывать? чтобы бек лишний раз не дергать за ошибками, а на клиенте уже их светить
конечно
Подскажи это Codeium делает подсказки?
Да, он самый
@@PurpleSchool круто, тоже его использую удобен для nvim, да и продуктивность в пару раз поднимает так точно на каких-то базовых вещах
я сейчас с проблемой столкнулся, для запуска frontend я использую vercel, он бесплатный и сильно упрощает запуск приложения. Но nestjs приложение там запускать нельзя или по крайне мере оно будет ограничено. Ктонибудб знает что можно использовать для такого же простого и удобного запуска nestjs как vercel?
railway
Только получается типы всегда не строгие? Например этот UserLoginResponse содержит accessToken?: string;
я тоже этого момента не понял. Щас пытаюсь переписать и у меня все типы не строгие, а призма требует строгие...
Нет, в типах он
type UserLoginResponse = {
accessToken: string;
}
под капотом оно делает не строгие типы. Я пытаюсь передать дто в сервис, в котором тип призмы и поле там строгое, не получается. Он жалуется, что некоторые поля опциональные@@PurpleSchool
публиковать контракты в нпм конечно круто но можно глянуть в сторону git subtree
Да, тоже вариант
круто)
покажи еще, плиз, генерацию опен-апи спеки и генерацию фетчеров для клиента
и было бы круто еще к этому премеру зод подключить, чтобы показать, как оно всё вместе) но раз там будет сваггер, то нет смысла контракты генерить по зоду, по спеке же будет всё генериться, да?
Про наличии контрактов не нужно городить отдельно Open API
@@PurpleSchool ну а как же спека
@@PurpleSchool или спеку тоже можно генерить?
Помню падал бек из-за NaN значения в zod😢
Ого, не ловил такое
По-моему, пропущена история подключения контрактов к nestjs внутри этого "монорепо".
Там нет подключения, ты просто ссылаешь на контракт, так как по сути это не монорепа
@@PurpleSchool добавлено в зависимости а-ля "bar": "file:///home/user/src/foo/bar"?
В этом видео так много Z, что можно случайно попасть в политическую партию)
🤣
В психбольницу
Если собрать все в монорепо, то не придется ничего никуда паблишить, ну и валидацию хочется делать как на фронте, так и на бэке. Ждем пока Камиль догадается подкинуть zod из коробки вместо отвратительного class-validator.
Пока нет на это намёков)
Все через z, ясно, вполне привычно
Так уж библиотека устроена
не могу понять как ютуб работает) 23 коментария всего но отображается 8
Тестировщиков на них нет)