kysely-org/kysely
A type-safe TypeScript SQL query builder
Thành tựu nổi bật
Những danh hiệu mới nhất của dự án
#1 Repository Của Tuần
#2 Repository Của Tuần
#3 Repository Của Tuần
🛡️ Kysely: viết SQL bằng TypeScript mà IDE tự gợi ý tên bảng, tên cột, kiểu dữ liệu
Type-safe SQL query builder — query như Knex, nhưng kết quả có kiểu chính xác và autocomplete hoạt động trên cả schema phức tạp.
Kysely (phát âm "Key-Seh-Lee") là thư viện TypeScript giúp bạn xây dựng câu SQL qua API thay vì nối chuỗi thủ công, đồng thời suy luận kiểu kết quả ngay tại compile time. Dự án lấy cảm hứng từ Knex.js, chạy trên Node.js, Deno, Bun, Cloudflare Workers và cả trình duyệt. Với hơn 14k sao GitHub, đây là lựa chọn quen thuộc cho ai muốn giữ quyền kiểm soát SQL thuần mà vẫn có trải nghiệm TypeScript xịn.
✨ Điểm nổi bật
- Type-safe query builder: chỉ cho phép truy cập bảng/cột hợp lệ trong từng phần của query, sai tên cột là lỗi compile ngay.
- Autocompletion toàn diện: IDE gợi ý tên bảng, cột, alias và kiểu trả về dựa trên schema bạn khai báo.
- Infer từ subquery, join, CTE: tự suy luận tên cột, alias và kiểu từ
selectcon,joincon vàwith— kể cả alias kiểupet.name as pet_name. - Nhiều dialect: PostgreSQL, MySQL, MSSQL, SQLite, PGlite và cộng đồng đóng góp thêm (CockroachDB, PlanetScale, D1, LibSQL...).
- Escape hatch cho SQL động: cung cấp
sqltemplate tag vàDynamicModulecho trường hợp TypeScript không gõ được tại compile time. - Transaction API: hỗ trợ giao dịch với callback hoặc
transaction()object, dễ lồng nhiều thao tác. - Migration độc lập: module
kysely-migrationsriêng để quản lý schema migration mà không bắt buộc dùng ORM. - Chạy đa môi trường: Node.js, Deno, Bun, Cloudflare Workers, web browsers — cùng một API.
💡 Vì sao đáng chú ý
Điểm khác biệt lớn nhất của Kysely so với query builder truyền thống (Knex, knex-style) là cấp độ suy luận kiểu. Bạn khai báo interface database một lần, từ đó mọi select, insert, update, join đều được kiểm tra tên bảng, tên cột, kiểu trả về — kể cả khi bạn dùng subquery, CTE hay alias phức tạp. Viết xong, refactor schema, TypeScript báo ngay chỗ vỡ.
Dự án phù hợp với team muốn giữ SQL thuần (không bị che bởi ORM), nhưng không chịu nổi cảnh any và typo tên cột. Khi cần tối ưu query thủ công, Kysely không cản đường — bạn vẫn nhúng raw SQL qua template tag khi cần. Đó là lý do nhiều dự án chọn Kysely thay vì Prisma/TypeORM khi kiểm soát SQL là ưu tiên hàng đầu.
#TypeScript #SQL #QueryBuilder #TypeSafe #TiniX
Dự án tương tự
Khám phá các dự án và mô hình AI khác có sự tương đồng.
The Prisma ORM: write your application in TypeScript with human-readable queries instead of SQL. Host your database on Prisma Postgres and your app on Prisma Compute.
Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.
The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.
TypeScript & JavaScript ORM for Node.js — supports PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, Oracle, and more.
Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB, DB2 and DB2 for IBM i.
🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.