I built a type-safe SQL library for Bun — no ORM, no codegen, just SQL (using Claude Code) Squn**, a lightweight, type-safe SQL query library built specifically for Bun that avoids ORMs, code generation, or schema files. It uses tagged template literals to ensure all interpolated values become bound parameters, making SQL injection structurally impossible, and supports PostgreSQL, SQLite, MySQL, and MSSQL through swappable adapters. The library also provides features like composable query fragments, automatic transaction management, batch inserts, and optional table schema definitions for inferred TypeScript types. I've been using Bun for a while and kept running into the same problem: every SQL library either requires Node.js internals, leans heavily on an ORM abstraction I don't want, or generates types from a schema file at build time. So I built squn — a lightweight, type-safe SQL query library that works natively with Bun's built-in database clients. The core idea Every query goes through a tagged template literal called sql . Interpolated values always become bound parameters — they are never concatenated into the SQL string. SQL injection is structurally impossible by design. js import { createDb, PostgresAdapter, sql } from "@phonemyatt/squn"; const db = createDb new PostgresAdapter { url: "postgresql://user:password@localhost:5432/mydb", } ; interface User { id: number; name: string; age: number | null; } // Values become $1, $2 parameters — never string-concatenated const users = await db.query