Кажется придумал typesafe для directus...
Убираем полностью генерацию типов специфичную для Directus тк пользы от неё мало.
Делаем schema пакет в монорепо
В нем ставим drizzle-orm + drizzle-kit + drizzle-zod + dotenv + nunjucks + tsx
Делаем команду для npm generate: drizzle-kit introspect + кастомный скрипт на nunjucks исполняемый через tsx который будет после introspect все экспортируемые модели в шаблоны рендерить с zod схемами и отдельно с z.infer типами
Вроде норм, пока выглядит рабочим, главное чтобы tree-shaking справлялся, а чтобы не палить схему всей базы данных - в скрипте генерации сделал разбивку по файлам, каждая таблица экспортирует схемы из своего файла, чтобы tree shaking отрезал неиспользуемые таблицы
Вопрос открыт ещё по полям, которые возможно нужно оставить приватными, на такой случай надо подумать над поддержкой tree-shaking самих схем
Post #817
43
Cododel.dev | Александр Это конечная.. 😂 Я за неделю не нашел ни одного решения собрать типобезопасный проект на directus без ручного описания схем 🥸 Даже graphql codegen может выдавать optional типы из-за того что сам директус делает все модели Partial для поддержки выбора полей…