Sequel.js — набор библиотек на JavaScript, ориентированный на работу с реляционными базами данных и выражениями SQL на уровне абстрактного синтаксического дерева (AST). Проект сочетает в себе средства для построения и анализа SQL-запросов, а также интерфейсы для описания моделей данных и простого ORM-слоя. Sequel.js позиционируется как инструмент для разработчиков, которым нужны программные представления запросов и структур моделей с возможностью последующей трансформации, валидации и генерации SQL для разных диалектов СУБД.
Исторически Sequel.js возник как попытка разделить задачи представления SQL в виде AST и задачи управления моделями и объектно-реляционным отображением, предлагая модульную архитектуру: самостоятельный менеджер AST, набор интерфейсов для определения схем моделей и экспериментальные ORM-компоненты. Документация и реализация проекта могут варьироваться по полноте и степени готовности: для некоторых частей доступна стабильная функциональность (парсинг и генерация простых выражений), тогда как более высокоуровневые возможности ORM могут находиться в активной разработке.
- Парсинг и генерация SQL: преобразование SQL-строк в AST и обратно, поддержка основных конструкций SELECT, INSERT, UPDATE и DELETE.
 - Унифицированное AST: представление запросов в виде удобных для трансформации и анализа узлов, что упрощает написание плагинов и оптимизаций.
 - Модули трансформации: набор утилит для рефакторинга выражений, упрощения условий и нормализации запросов перед генерацией SQL.
 - Абстракции моделей: интерфейсы и схемы для описания сущностей, полей, типов данных и связей между моделями.
 - ORM-слой (экспериментальный): упрощённые механизмы для выполнения CRUD-операций через модели, с возможностью интеграции с менеджером AST для генерации запросов.
 - Поддержка диалектов: адаптеры для генерации SQL с учётом различий диалектов популярных СУБД, реализованные в виде расширяемых модулей.
 - Валидация и миграции: базовые инструменты для валидации схемы модели и генерации описаний миграций (в разных реализациях степень зрелости функционала может различаться).
 - Плагинная архитектура: возможность подключения дополнительных обработчиков для оптимизации, логирования и специфичных преобразований AST.
 - Инструменты для тестирования: вспомогательные моки и возможности для создания автономных тестов генерации и парсинга SQL без подключения к реальной базе данных.