JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 440
  • Score
    100M100P100Q108333F
  • License MIT

Runtime-agnostic TypeScript SQL toolkit for Bun, Node.js, and Deno with typed schemas, dialect-aware builders, engine adapters, migrations, and batch inserts.

Package Exports

  • @coderbuzz/sql
  • @coderbuzz/sql/ansi
  • @coderbuzz/sql/clickhouse
  • @coderbuzz/sql/clickhouse-types
  • @coderbuzz/sql/databricks
  • @coderbuzz/sql/databricks-types
  • @coderbuzz/sql/mssql
  • @coderbuzz/sql/mssql-types
  • @coderbuzz/sql/mysql
  • @coderbuzz/sql/mysql-types
  • @coderbuzz/sql/oracle
  • @coderbuzz/sql/oracle-types
  • @coderbuzz/sql/postgres
  • @coderbuzz/sql/postgres-types
  • @coderbuzz/sql/snowflake
  • @coderbuzz/sql/snowflake-types
  • @coderbuzz/sql/sqlite
  • @coderbuzz/sql/sqlite-types

Readme

@coderbuzz/sql

Runtime-agnostic TypeScript SQL toolkit for Bun, Node.js, and Deno. Schema-driven table definitions, fluent query builders, dialect-aware SQL compilation, engine adapters, safe raw SQL, transactions, streaming, prepared queries, high-throughput batch inserts, and schema migration utilities.

Installation

bun add @coderbuzz/sql
# or
npm install @coderbuzz/sql

Install the driver for your database (see Supported Databases):

bun add pg           # PostgreSQL
bun add mysql2       # MySQL / MariaDB
bun add mssql        # SQL Server
bun add better-sqlite3  # SQLite (Node.js)
bun add oracledb     # Oracle
bun add snowflake-sdk   # Snowflake
bun add @databricks/sql # Databricks

SQLite on Bun uses bun:sqlite (built-in, no extra driver needed). SQLite on Deno uses @db/sqlite.

Quick Start

import { sqlite } from "@coderbuzz/sql/sqlite";

const db = sqlite.connect({ path: ":memory:" });

const users = sqlite.table("users", {
  id: sqlite.integer().primaryKey(),
  email: sqlite.text().notNull().unique(),
  name: sqlite.text().notNull(),
  active: sqlite.boolean().default(true),
  created_at: sqlite.datetime().defaultNow(),
});

await db.migrate(users);

const rows = await users.from(db)
  .fields("id", "email", "name")
  .where(sqlite.eq("active", true))
  .order_by("id DESC")
  .limit(10)
  .execute();

db.close();

Documentation

Full API reference, examples, and migration guide: DOCS.md

License

MIT © 2026 Indra Gunawan