sequelts VS ts-sql

Compare sequelts vs ts-sql and see what are their differences.

ts-sql

A SQL database implemented purely in TypeScript type annotations. (by codemix)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
sequelts ts-sql
3 28
28 3,114
- 0.0%
0.0 0.0
over 1 year ago almost 3 years ago
TypeScript TypeScript
- -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

sequelts

Posts with mentions or reviews of sequelts. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-24.
  • Kysely: TypeScript SQL Query Builder
    19 projects | news.ycombinator.com | 24 Jan 2023
    You can use these template literal types + infer to build an entire SQL parser. I did a POC that infers SQL query types by parsing the SQL query on a type level:

    https://github.com/nikeee/sequelts

    However, building this parser is pretty cumbersome and supporting multiple SQL dialects would be lots of pain. While I'm not a fan of query builders per se, Kysely pretty much covers everything that my POC tried to cover (except that 0 runtime overhead). However, you get the option to use different DBMs in tests than in production (pg in prod, sqlite in tests), which is a huge benefit for a lot of people. sequelts was designed to work with sqlite only. And it's not a hack.

  • Flyweight: An ORM for SQLite
    9 projects | news.ycombinator.com | 29 Sep 2022
    The only thing I can imagine where this would be useful is when you don't have control about what DB is being used, for example, when building a product that should be compatible with Postgres and MariaDB (and each is getting used). However, in the age of containerization, this isn't a big problem any more.

    In some ORMs, I need to create types that the result of a query containing JOINs is mapped to. Others don't support them _at all_. In TypeORM, there is a query builder which forces you to put in _some_ SQL for things like "WHERE a in (b, c)".

    I created a proof of concept of a different approach: Just embrace SQL and provide static typing based on the query. The return type of a query is whatever that thing is that the query returns in the context of the database schema. It's possible to do in TypeScript, by parsing the SQL query at development time:

    https://github.com/nikeee/sequelts

    One benefit is that it does not need any runtime code, as it's just a type layer over SQL. You don't have to rely on some type-metadata that TypeScript emits. That's why it also works with JavaScript only.

  • Deepkit – High-Performance TypeScript Framework
    13 projects | news.ycombinator.com | 7 Jun 2022
    I don't like ORMs that use runtime types either. Most of the time, I want to write raw SQL.

    So as an experiment, I created a library that statically types raw SQL:

    https://github.com/nikeee/sequelts

    The idea is to parse the SQL queries using TS's type system. The parsed query is combined with the database schema and therefore, we know what type the query will return.

    This is especially useful due to TS's structural type system.

ts-sql

Posts with mentions or reviews of ts-sql. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-24.
  • Type-Safe Printf() in TypeScript
    4 projects | news.ycombinator.com | 24 Mar 2024
    There is an implementation of SQL that operates on a table shaped type, entirely at type level. For your amusement: https://github.com/codemix/ts-sql

    There are a bunch of more practical takes that codegen types from your database and generate types for your queries, eg: https://github.com/adelsz/pgtyped

    To me the second approach seems much more pragmatic because you don’t need to run a SQL parser in a fairly potato interpreter on every build

  • Functions and algorithms implemented purely with TypeScript's type system
    9 projects | news.ycombinator.com | 4 Jul 2023
  • Que opinan de esta forma de actualizar estados complejos en React, creen que es buena practica o tienen una mejor forma?
    2 projects | /r/devsarg | 28 May 2023
  • How to Sell Elixir Again (2023)
    7 projects | news.ycombinator.com | 13 May 2023
    > If I would level criticisms at dialyzer it would be its sometimes difficult to read warnings, it’s speed (despite being multithreaded) and the race conditions in the VS Code plugin (which is looking for extra maintainers – if I had time I would help).

    One of the advantages of TypeScript is that VSCode is written in TypeScript, and both VSCode and TypeScript are developed by the same company, so there's a really nice synergy there. I imagine Kotlin users feel the same way using Jetbrains products, and Swift users feel the same way about XCode.

    Dialyzer looks interesting, but I can't imagine giving up on the expressiveness of TypeScript. Some of the things you can do with generics, mapped types, intersection types, template literal types, conditional types, and utility types are almost mind boggling. It's difficult to reap all of the benefits of static analysis without some of these advanced type operators. The type manipulation section of the TS manual is really underrated.

    Someone for example wrote an SQL parser in TypeScript that requires no runtime code [1]. It can infer the types of an SQL query's result based on an SQL string without any runtime code execution. There was a similar project where someone built a JSON parser entirely using the type system [2]. There's also an ongoing discussion on Github about the the fact that TypeScript's type system appears to be a Turing-complete language with some other cool examples [3]. My point is that the type system is incredibly expressive. You rarely run into an idiom that can't be typed effectively.

    [1] https://github.com/codemix/ts-sql

    [2] https://twitter.com/buildsghost/status/1301976526603206657

    [3] https://github.com/microsoft/TypeScript/issues/14833

  • Please use Typescript
    3 projects | /r/ProgrammerHumor | 14 Mar 2023
  • TypeScripting the Technical Interview
    5 projects | news.ycombinator.com | 12 Mar 2023
  • Pls can we go back to traditional languages?
    2 projects | /r/ProgrammerHumor | 18 Oct 2022
    If anyone saw this meme and thought, "damn parsing a type from a SQL query, that looks useful" (as I did), the source appears to be from here.
  • Type-Level FizzBuzz
    1 project | /r/typescript | 1 Sep 2022
    I mean, why stop there? https://github.com/codemix/ts-sql
  • HypeScript: Simplified TypeScript's type system in TypeScript's own type system
    15 projects | news.ycombinator.com | 27 Jul 2022
    Which allows for things like this type that implements a simplified SQL query parser checked against a provided 'database' object:

    https://github.com/codemix/ts-sql

    This project was my go-to "nifty but pointless" example for TS string literal types before this article :)

  • Deepkit – High-Performance TypeScript Framework
    13 projects | news.ycombinator.com | 7 Jun 2022
    author of ts-sql[0] here, this looks great (and a way more practical approach!)

    [0] https://github.com/codemix/ts-sql

What are some alternatives?

When comparing sequelts and ts-sql you can also consider the following projects:

liveviewjs - LiveView-based library for reactive app development in NodeJS and Deno

slonik - A Node.js PostgreSQL client with runtime and build time type safety, and composable SQL.

flyweight - An ORM for SQLite

Paste JSON as Code • quicktype - Xcode extension to paste JSON as Swift, Objective-C, and more

kysely-codegen - Generate Kysely type definitions from your database.

pgtyped - pgTyped - Typesafe SQL in TypeScript

assert-combinators - Functional assertion combinators.

lean4 - Lean 4 programming language and theorem prover

postgresql-typed - Haskell PostgreSQL library with compile-time type inference

sqlx - 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.

Npgsql.FSharp.Analyzer - F# analyzer that provides embedded SQL syntax analysis, type-checking for parameters and result sets and nullable column detection when writing queries using Npgsql.FSharp.

kanel - Generate Typescript types from Postgres