A TypeScript SQLite wrapper with native C++ and pure JavaScript driver support, featuring automatic type casting and a simple API.
Trilogy is a TypeScript SQLite database wrapper that provides a simple, Promise-based API for interacting with SQLite databases. It solves the complexity of direct SQLite usage by offering automatic type casting, multiple backend support (native C++ and pure JavaScript), and a clean interface influenced by Mongoose. Developers use it to avoid manual type conversions and backend compatibility issues in cross-platform applications.
Node.js and Electron developers who need a lightweight, type-safe SQLite layer without the overhead of a full ORM. Particularly useful for those targeting multiple platforms where native SQLite compilation is problematic.
Trilogy stands out by supporting both high-performance native drivers and pure JavaScript backends interchangeably, eliminating compilation headaches in Electron/NW.js apps. Its automatic type casting and Knex-powered query builder reduce boilerplate while maintaining SQL flexibility.
TypeScript SQLite layer with support for both native C++ & pure JavaScript drivers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles conversion between JavaScript types like String, Date, Array and SQLite data types automatically, reducing boilerplate code for data manipulation.
Supports both native sqlite3 for performance and pure JavaScript sql.js for cross-platform use, plus in-memory storage, allowing backend swapping without code changes.
Written in TypeScript with full type definitions, providing a first-class, type-safe development experience for database interactions.
Enables attaching hooks at points like beforeCreate and afterUpdate, useful for debugging and extending functionality without modifying core queries.
Intentionally avoids being a full ORM, so it lacks features for automatic data relationships like joins or associations, requiring manual handling.
Only works with SQLite databases, making it unsuitable for projects using PostgreSQL, MySQL, or other database systems.
Requires separate installation and configuration of sqlite3 or sql.js backends, adding extra steps and potential compatibility issues to the setup process.