mmarinovic/tailwindsql
mmarinovic/tailwindsql has 1,303 GitHub stars and 52 forks. GitHot measured 0 stars in 24 hours and -1 in 7 days. Last checked 2026-11-10 20:14 UTC. Last push 2025-12-16.
So werden diese Zahlen gemessen
TailwindSQL lets you write SQL queries using Tailwind-style class names.
What you can do
- 🎨 Tailwind-style syntax - Write SQL queries using familiar class names
- ⚡ React Server Components - Zero client-side JavaScript for queries
- 🔒 SQLite - Built on better-sqlite3 for fast, local database access
- 🎯 Zero Runtime - Queries are parsed and executed at build/render time
Gemessener Sternzuwachs
- in 24h
- 0
- in 7 days
- -1
- in 15 days
- Aktualisierung verzögert
- in 1 month
- Aktualisierung verzögert
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
README.md
OriginalTailwindSQL 🎨
Like TailwindCSS, but for SQL queries in React Server Components.
What is this?
TailwindSQL lets you write SQL queries using Tailwind-style class names. Just use className to query your database directly in React Server Components!
// Fetch and render a user's name
<DB className="db-users-name-where-id-1" />
// Renders: "Ada Lovelace"
// Render products as a list
<DB className="db-products-title-limit-5" as="ul" />
// Renders: <ul><li>Mechanical Keyboard</li>...</ul>
// Order by price and show as table
<DB className="db-products-orderby-price-desc" as="table" />
Features
- 🎨 Tailwind-style syntax - Write SQL queries using familiar class names
- ⚡ React Server Components - Zero client-side JavaScript for queries
- 🔒 SQLite - Built on better-sqlite3 for fast, local database access
- 🎯 Zero Runtime - Queries are parsed and executed at build/render time
- 🎭 Multiple Render Modes - Render as text, lists, tables, or JSON
Syntax
db-{table}-{column}-where-{field}-{value}-limit-{n}-orderby-{field}-{asc|desc}
Examples
| Class Name | SQL Query |
|---|---|
db-users |
SELECT * FROM users |
db-users-name |
SELECT name FROM users |
db-users-where-id-1 |
SELECT * FROM users WHERE id = 1 |
db-posts-title-limit-10 |
SELECT title FROM posts LIMIT 10 |
db-products-orderby-price-desc |
SELECT * FROM products ORDER BY price DESC |
Getting Started
Prerequisites
- Node.js 18+
- npm or yarn
Installation
# Clone the repository
git clone https://github.com/mmarinovic/tailwindsql.git
cd tailwindsql
# Install dependencies
npm install
# Seed the database with demo data
npm run seed
# Start the development server
npm run dev
Open http://localhost:3000 to see the demo and interactive playground!
How It Works
- Parser (
src/lib/parser.ts) - Parses class names into query configurations - Query Builder (
src/lib/query-builder.ts) - Transforms configs into safe SQL queries - DB Component (
src/components/DB.tsx) - React Server Component that executes queries and renders results
Render Modes
The as prop controls how results are rendered:
| Value | Description |
|---|---|
span |
Inline text (default) |
div |
Block element |
ul |
Unordered list |
ol |
Ordered list |
table |
HTML table |
json |
JSON code block |
Project Structure
tailwindsql/
├── src/
│ ├── app/ # Next.js app directory
│ │ ├── page.tsx # Landing page
│ │ └── api/ # API routes
│ ├── components/ # React components
│ │ ├── DB.tsx # Main DB component
│ │ ├── Example.tsx # Example components
│ │ └── Playground.tsx # Interactive playground
│ └── lib/ # Core logic
│ ├── parser.ts # Class name parser
│ ├── query-builder.ts # SQL query builder
│ └── db.ts # Database connection
└── README.md
Why?
This project was built to explore css-driven database queries.
License
MIT - Do whatever you want with it (except deploy to production 😅)
Built with 💜 using Next.js, SQLite, and questionable decisions
Ähnliche Projekte entdecken
Asabeneh/30-Days-Of-Python
Die Programmier-Challenge 30 Days of Python ist eine Schritt-für-Schritt-Anleitung, um die Programmiersprache Python in 30 Tagen zu lernen. Diese Challenge kann mehr als 100 Tage dauern. Gehe in deinem eigenen Tempo vor. Diese Videos können ebenfalls helfen: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,560 Sternegrafana/grafana
Offene und kombinierbare Plattform für Observability und Datenvisualisierung. Visualisiert Metriken, Logs und Traces aus mehreren Quellen wie Prometheus, Loki, Elasticsearch, InfluxDB, Postgres und vielen weiteren.
77,830 Sterneredis/redis
Für Entwickler, die echtzeitfähige, datengesteuerte Anwendungen erstellen, ist Redis der bevorzugte, schnellste und funktionsreichste Cache, Datenstrukturserver und die entsprechende Abfrageengine für Dokumente und Vektoren.
77,395 Sterneapache/superset
Apache Superset ist eine Plattform für Datenvisualisierung und Datenexploration.
75,473 Sterne