SQL-компилятор, который читает ваши SQL-запросы и генерирует для них типобезопасный код на Go, Kotlin, Python и TypeScript.
colinhacks/reylo
Импортируйте .sql-файлы в TypeScript с полной проверкой типов по dev-базе данных — без генерации кода.
- Звёзды
- 1,511
- Форки
- 18
- Открытые issues
- 10
- Последний коммит
- 17 часов назад
Что это?
Reylo позволяет импортировать SQL-запрос из .sql-файла в TypeScript и вызывать его как функцию. Типы строк результата и параметров выводятся непосредственно из SQL: запрос подготавливается в вашей базе для разработки, поэтому не нужно вручную описывать типы строк или следить за актуальностью сгенерированных файлов.
Поскольку проверка типов напрямую обращается к Reylo, опечатка в названии столбца, неверный параметр или удалённая таблица приводят к ошибке типов в tsc и редакторе. Reylo определяет nullable-поля, возвращает ли запрос одну строку, ноль или одну строку либо много строк, а также выводит объединения типов из enum или ограничений check. Поддерживаются Postgres, MySQL и SQLite, а также такие драйверы, как pg, postgres.js, mysql2, better-sqlite3 и Bun.sql. Для работы Reylo использует content mappers из TypeScript 7.1, которые пока находятся в бета-версии.
Ключевые возможности
- 01Импортирует .sql-файлы как типизированные функции запросов, которые можно вызывать.
- 02Выводит типы строк и параметров из SQL-запросов, проверяемых по dev-базе данных.
- 03Сообщает об ошибках в SQL как об ошибках TypeScript в tsc и редакторе.
- 04Определяет nullable-поля, количество возвращаемых строк и объединения типов из enum.
- 05Поддерживает Postgres, MySQL и SQLite, а драйвер можно выбрать самостоятельно.
Сценарии использования
- Поддерживать типы строк в TypeScript в соответствии с меняющейся схемой базы данных.
- Писать вручную оптимизированный SQL с проверкой типов, не используя ORM.
- Позволять coding agents менять запросы, пока проверка типов выявляет места вызова, не соответствующие обновлённым запросам.
Быстрый старт
- 1
Установите Reylo
npm install reylo - 2
Установите движок для вашей базы данных (Postgres, MySQL или SQLite)
npm install -D @reylosql/postgres - 3
Укажите в .env переменную DATABASE_URL, чтобы она ссылалась на базу данных для разработки
- 4
Запустите код с загруженным в Node Reylo
node --env-file=.env --import reylo/register main.ts
Что важно знать
- Требуется TypeScript 7.1, который сейчас находится в бета-версии.
- Требуется Node 24 или новее и работающая база данных для разработки.
- Для проверки типов нужен флаг --runExternalCode, чтобы tsc мог запускать мапперы содержимого.
В выпуске Repolode Weekly
- Выпуск 2 · Headless-браузер на Rust для агентов и типизированный импорт SQL
Импортируете .sql-файлы в TypeScript и получаете типизированные функции-запросы. Типы строк и параметров выводятся по dev-базе, ошибки SQL показываются как ошибки tsc, генерации кода нет.
В подборках
Темы
Частые вопросы
- Что такое reylo?
- Импортируйте .sql-файлы в TypeScript с полной проверкой типов по dev-базе данных — без генерации кода. Reylo позволяет импортировать SQL-запрос из .sql-файла в TypeScript и вызывать его как функцию. Типы строк результата и параметров выводятся непосредственно из SQL: запрос подготавливается в вашей базе для разработки, поэтому не нужно вручную описывать типы строк или следить за актуальностью сгенерированных файлов.
- reylo можно использовать бесплатно? Какая у него лицензия?
- reylo распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- reylo всё ещё поддерживается?
- Активно поддерживается. Последний коммит в reylo — 5 нояб. 2026 г..
- Для чего можно использовать reylo?
- Поддерживать типы строк в TypeScript в соответствии с меняющейся схемой базы данных. Писать вручную оптимизированный SQL с проверкой типов, не используя ORM. Позволять coding agents менять запросы, пока проверка типов выявляет места вызова, не соответствующие обновлённым запросам.
- Как установить reylo?
- Установите Reylo: npm install reylo Установите движок для вашей базы данных (Postgres, MySQL или SQLite): npm install -D @reylosql/postgres Укажите в .env переменную DATABASE_URL, чтобы она ссылалась на базу данных для разработки Запустите код с загруженным в Node Reylo: node --env-file=.env --import reylo/register main.ts
- Где скачать reylo?
- Исходный код и инструкции по установке — на GitHub: https://github.com/colinhacks/reylo
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Лёгкая ORM без лишних абстракций для TypeScript, поддерживающая PostgreSQL, MySQL и SQLite в Node.js, Bun, Deno и edge-средах.
ORM для Node.js и TypeScript на основе промисов, поддерживающая PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle и Db2.
Кроссплатформенный SQL-редактор и менеджер баз данных для Linux, macOS и Windows с поддержкой MySQL, PostgreSQL, SQLite, SQL Server и других СУБД.
Типобезопасный SQL query builder для TypeScript с автодополнением таблиц, столбцов и типов результатов для разных SQL-баз данных.
Асинхронный SQL-инструментарий на чистом Rust с запросами на обычном SQL, проверяемыми во время компиляции; поддерживает PostgreSQL, MySQL/MariaDB и SQLite.