🐱 Node.js + TypeScript + SQL = разочарование... но надежда есть
Я уже давно пытаюсь найти некоторый оптимум в работе с SQL-ными базами на Node.js + TypeScript
Как я уже писал – ORM я не люблю, а вот что у нас с SQL Builder и Typed SQL?
На ум впервую очередь приходит Knex, но:
Во-первых, хоть у него и есть поддержка TypeScript, он мало что умеет с ним делать (не умеет в alias; select только через ублюдскую конструкцию db.ref(...).withSchema(...) и тоже часто без типизации; where + join = боль)
Во-вторых, и это, на мой взгляд, невероятно дико, вы вообще практически не найдете никакого контента на тему работы Knex + TypeScript, даже на stackoverflow (напомню, 17к звезд на Github)
Проекты, которые меня интересуют и которые я буду внедрять в ближайшее время:
. kysely – Knex, но который сразу написан на TS и умеет в то, что не умеет Knex
. pgtyped – пишите SQL, запускаете клиент pgtyped, он проверяет что это корретный SQL по отношению именно к вашей БД и выгружает типы
. drizzle – хоть это и ORM, но работает…