ismailkarsli/TypeSQL
ismailkarsli/TypeSQL has 32 GitHub stars and 1 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-11 16:14 UTC. Last push 2026-11-07.
Comment ces chiffres sont mesurés
Type-safe raw SQL for TypeScript. Instant type inference with no codegen or DB connection
Progression mesurée des étoiles
- in 24h
- +1
- in 7 days
- Mise à jour retardée
- in 15 days
- Mise à jour retardée
- in 1 month
- Mise à jour retardée
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
README.md
OriginalWrite SQL in TypeScript and get exact types for rows and parameters. TypeSQL parses your SQL inside the type checker: no codegen, no database connection, no build step.
TypeSQL supports PostgreSQL, SQLite, MySQL and MariaDB. The @typesql/core runtime is tiny (under 3 kB minified and gzipped) and has no dependencies.
Get started
Get your schema
TypeSQL checks queries against a DB type that describes your tables. Derive it from your migrations, generate it from a live database, or take it from Kysely, Drizzle or Prisma.
You can also write it by hand with your database's type names.
Write typed queries
Create sql from your driver's client, import the schema and run SQL against it:
import { Pool } from "pg";
import { createSql } from "@typesql/pg";
import type { DB } from "./db/schema";
const sql = createSql<DB>(new Pool());
// rows is { email: string; title: string | null }[]: the LEFT JOIN makes title nullable.
// sql.param() sends userId as a parameter, typed like u.id, so it must be a number.
const rows = await sql(
`SELECT u.email, p.title
FROM users u LEFT JOIN posts p ON p.author_id = u.id
WHERE u.id = ${sql.param(userId)}`,
).execute();
// Compile error: column "emial" does not exist. Perhaps you meant the column "email"?
sql("SELECT emial FROM users");
@typesql/postgres works the same way with postgres.js, @typesql/sqlite with node:sqlite, better-sqlite3 and bun:sqlite, and @typesql/mysql with mysql2, the mariadb connector, PlanetScale and TiDB Cloud; see SQLite and MySQL and MariaDB.
Editor support
Every TypeScript editor shows a query's row type on hover and underlines mistakes in the SQL. The TypeSQL extension for VS Code (Marketplace, Open VSX) adds table and column completions and syntax highlighting inside sql() strings. See VS Code and Neovim.
Documentation
The full guide is at typesql.karsli.net. It covers the SQL TypeSQL supports, parameters and fragments, writing data, and known limits. Upgrading? See the upgrade guide and the changelog.
License
Explorer des projets similaires
Asabeneh/30-Days-Of-Python
Le défi de programmation 30 Days of Python est un guide pas à pas pour apprendre le langage de programmation Python en 30 jours. Ce défi peut prendre plus de 100 jours. Avancez à votre rythme. Ces vidéos peuvent aussi vous aider : https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,618 étoilesgrafana/grafana
Plateforme ouverte et composable d’observabilité et de visualisation de données. Visualise les métriques, les journaux et les traces issus de plusieurs sources, comme Prometheus, Loki, Elasticsearch, InfluxDB, Postgres et bien d’autres.
77,830 étoilesredis/redis
Pour les développeurs qui créent des applications en temps réel pilotées par les données, Redis est le cache, le serveur de structures de données et le moteur de requêtes documentaires et vectorielles préféré, le plus rapide et le plus riche en fonctionnalités.
77,395 étoilesapache/superset
Apache Superset est une plateforme de visualisation et d'exploration de données.
75,473 étoiles