{"adoption": {"forks": 230, "observed_at": "2026-08-28T04:05:05.323154+00:00", "stars": 1570}, "canonical_url": "https://ross.abutalabs.com/products/squel", "card": {"archived": false, "artifact_type": "library", "description": ":office: SQL query string builder for Javascript", "domain": ["databases", "backend", "web-development", "developer-tools"], "enriched": true, "function": ["database"], "health_score": 78, "homepage": "https://hiddentao.github.io/squel", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["hiddentao/squel"], "name": "hiddentao/squel", "platform": ["browser", "cross-platform"], "pushed_at": "2026-08-09T18:28:05+00:00", "repo": "hiddentao/squel", "stars": 1570, "tags": ["sql", "query-builder", "query-string-builder", "typescript", "javascript", "mysql", "postgresql", "mssql", "sqlite", "fluent-api", "method-chaining", "parameterized-queries", "cte", "window-functions", "esm", "npm", "nodejs"], "topics": [], "urls": [], "use_cases": ["build sql queries in javascript without string concatenation", "sql query builder for node.js or typescript", "generate parameterized sql queries with safe value escaping", "build postgres upsert or mssql merge queries programmatically", "write cte and window function queries with a fluent js api", "construct sql statements dynamically at runtime in the browser", "avoid sql injection from brittle string substitution when assembling queries"], "what_it_is": "Squel is a lightweight SQL query string builder library for JavaScript and TypeScript with a fluent, method-chaining API. It generates standard SELECT/INSERT/UPDATE/DELETE statements plus dialect-aware features (CTEs, UPSERT, MERGE, RETURNING, window functions) for MySQL, PostgreSQL, SQLite, and MS SQL Server, running in both Node.js and the browser.", "when_to_avoid": ["You need to actually connect to and execute queries against a database - squel only builds SQL strings and ships no drivers", "You need full ORM capabilities such as migrations, schema management, or result mapping (consider Knex or a dedicated ORM)", "You intend to generate queries in the browser and execute them server-side, which is an unsafe pattern the project explicitly warns against"], "when_to_choose": ["You need to construct SQL query strings programmatically with a clean, fluent API but do not want a full ORM", "You want a tiny (~8 KB) dependency that works in both Node.js and the browser", "You need dialect-specific SQL features like Postgres UPSERT, SQL Server MERGE, RETURNING/OUTPUT clauses, or window functions", "You want a library you can extend with custom query blocks or commands"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/squel", "repo": "hiddentao/squel", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:58:33.866891+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15d8950372c9e2caae188693796eb5085a1b9dbe330e2d2805b59bbe751a7313", "fetched_at": "2026-08-28T04:05:05.323154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hiddentao/squel"}, {"content_hash": "61fb6e08f8fe9fd8e6eb30e058bc2d56f4af8c537bc3fa1cbcb5292a68e32cff", "fetched_at": "2026-08-29T11:28:18.304926+00:00", "kind": "homepage", "missing": false, "url": "https://hiddentao.github.io/squel"}, {"content_hash": "1a27f4772d1f0abe346aef436d6b3a6919d26bbc71cb5a0140a8ced0a35e62a1", "fetched_at": "2026-08-29T11:28:18.315097+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/squel"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:58:33.866891+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15d8950372c9e2caae188693796eb5085a1b9dbe330e2d2805b59bbe751a7313", "fetched_at": "2026-08-28T04:05:05.323154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hiddentao/squel"}, {"content_hash": "61fb6e08f8fe9fd8e6eb30e058bc2d56f4af8c537bc3fa1cbcb5292a68e32cff", "fetched_at": "2026-08-29T11:28:18.304926+00:00", "kind": "homepage", "missing": false, "url": "https://hiddentao.github.io/squel"}, {"content_hash": "1a27f4772d1f0abe346aef436d6b3a6919d26bbc71cb5a0140a8ced0a35e62a1", "fetched_at": "2026-08-29T11:28:18.315097+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/squel"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:58:33.866891+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15d8950372c9e2caae188693796eb5085a1b9dbe330e2d2805b59bbe751a7313", "fetched_at": "2026-08-28T04:05:05.323154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hiddentao/squel"}, {"content_hash": "61fb6e08f8fe9fd8e6eb30e058bc2d56f4af8c537bc3fa1cbcb5292a68e32cff", "fetched_at": "2026-08-29T11:28:18.304926+00:00", "kind": "homepage", "missing": false, "url": "https://hiddentao.github.io/squel"}, {"content_hash": "1a27f4772d1f0abe346aef436d6b3a6919d26bbc71cb5a0140a8ced0a35e62a1", "fetched_at": "2026-08-29T11:28:18.315097+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/squel"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:58:33.866891+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15d8950372c9e2caae188693796eb5085a1b9dbe330e2d2805b59bbe751a7313", "fetched_at": "2026-08-28T04:05:05.323154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hiddentao/squel"}, {"content_hash": "61fb6e08f8fe9fd8e6eb30e058bc2d56f4af8c537bc3fa1cbcb5292a68e32cff", "fetched_at": "2026-08-29T11:28:18.304926+00:00", "kind": "homepage", "missing": false, "url": "https://hiddentao.github.io/squel"}, {"content_hash": "1a27f4772d1f0abe346aef436d6b3a6919d26bbc71cb5a0140a8ced0a35e62a1", "fetched_at": "2026-08-29T11:28:18.315097+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/squel"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:58:33.866891+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15d8950372c9e2caae188693796eb5085a1b9dbe330e2d2805b59bbe751a7313", "fetched_at": "2026-08-28T04:05:05.323154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hiddentao/squel"}, {"content_hash": "61fb6e08f8fe9fd8e6eb30e058bc2d56f4af8c537bc3fa1cbcb5292a68e32cff", "fetched_at": "2026-08-29T11:28:18.304926+00:00", "kind": "homepage", "missing": false, "url": "https://hiddentao.github.io/squel"}, {"content_hash": "1a27f4772d1f0abe346aef436d6b3a6919d26bbc71cb5a0140a8ced0a35e62a1", "fetched_at": "2026-08-29T11:28:18.315097+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/squel"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:58:33.866891+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15d8950372c9e2caae188693796eb5085a1b9dbe330e2d2805b59bbe751a7313", "fetched_at": "2026-08-28T04:05:05.323154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hiddentao/squel"}, {"content_hash": "61fb6e08f8fe9fd8e6eb30e058bc2d56f4af8c537bc3fa1cbcb5292a68e32cff", "fetched_at": "2026-08-29T11:28:18.304926+00:00", "kind": "homepage", "missing": false, "url": "https://hiddentao.github.io/squel"}, {"content_hash": "1a27f4772d1f0abe346aef436d6b3a6919d26bbc71cb5a0140a8ced0a35e62a1", "fetched_at": "2026-08-29T11:28:18.315097+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/squel"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.323154+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:58:33.866891+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15d8950372c9e2caae188693796eb5085a1b9dbe330e2d2805b59bbe751a7313", "fetched_at": "2026-08-28T04:05:05.323154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hiddentao/squel"}, {"content_hash": "61fb6e08f8fe9fd8e6eb30e058bc2d56f4af8c537bc3fa1cbcb5292a68e32cff", "fetched_at": "2026-08-29T11:28:18.304926+00:00", "kind": "homepage", "missing": false, "url": "https://hiddentao.github.io/squel"}, {"content_hash": "1a27f4772d1f0abe346aef436d6b3a6919d26bbc71cb5a0140a8ced0a35e62a1", "fetched_at": "2026-08-29T11:28:18.315097+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/squel"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:58:33.866891+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15d8950372c9e2caae188693796eb5085a1b9dbe330e2d2805b59bbe751a7313", "fetched_at": "2026-08-28T04:05:05.323154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hiddentao/squel"}, {"content_hash": "61fb6e08f8fe9fd8e6eb30e058bc2d56f4af8c537bc3fa1cbcb5292a68e32cff", "fetched_at": "2026-08-29T11:28:18.304926+00:00", "kind": "homepage", "missing": false, "url": "https://hiddentao.github.io/squel"}, {"content_hash": "1a27f4772d1f0abe346aef436d6b3a6919d26bbc71cb5a0140a8ced0a35e62a1", "fetched_at": "2026-08-29T11:28:18.315097+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/squel"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:58:33.866891+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15d8950372c9e2caae188693796eb5085a1b9dbe330e2d2805b59bbe751a7313", "fetched_at": "2026-08-28T04:05:05.323154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hiddentao/squel"}, {"content_hash": "61fb6e08f8fe9fd8e6eb30e058bc2d56f4af8c537bc3fa1cbcb5292a68e32cff", "fetched_at": "2026-08-29T11:28:18.304926+00:00", "kind": "homepage", "missing": false, "url": "https://hiddentao.github.io/squel"}, {"content_hash": "1a27f4772d1f0abe346aef436d6b3a6919d26bbc71cb5a0140a8ced0a35e62a1", "fetched_at": "2026-08-29T11:28:18.315097+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/squel"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:58:33.866891+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "15d8950372c9e2caae188693796eb5085a1b9dbe330e2d2805b59bbe751a7313", "fetched_at": "2026-08-28T04:05:05.323154+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hiddentao/squel"}, {"content_hash": "61fb6e08f8fe9fd8e6eb30e058bc2d56f4af8c537bc3fa1cbcb5292a68e32cff", "fetched_at": "2026-08-29T11:28:18.304926+00:00", "kind": "homepage", "missing": false, "url": "https://hiddentao.github.io/squel"}, {"content_hash": "1a27f4772d1f0abe346aef436d6b3a6919d26bbc71cb5a0140a8ced0a35e62a1", "fetched_at": "2026-08-29T11:28:18.315097+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/squel"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5370, "days_push": 24, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}