flyweight VS ts-proto

Compare flyweight vs ts-proto and see what are their differences.

flyweight

An ORM for SQLite (by thebinarysearchtree)

ts-proto

An idiomatic protobuf generator for TypeScript (by stephenh)
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
flyweight ts-proto
9 8
503 1,925
- -
8.9 9.0
1 day ago 14 days ago
JavaScript TypeScript
MIT License Apache License 2.0
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.

flyweight

Posts with mentions or reviews of flyweight. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-07.
  • Flyweight: A Node.js ORM Specifically for SQLite
    3 projects | news.ycombinator.com | 7 Apr 2024
  • Show HN: Quietone – search audio and video by transcript
    1 project | news.ycombinator.com | 23 Mar 2024
    Hey. This is my first electron app. It is called Quietone and I just thought it would be cool to navigate and manipulate videos by their transcript because searching through videos for the things I was looking for was very slow otherwise.

    I used whisper.cpp to do the transcribing. It has held up really well. The tiny model (the fastest one) can transcribe 2 hours of video in a couple of minutes on my m2 mac mini and the accurate of even the tiny model is pretty good.

    I used Electron Forge to package the app for different operating systems and distribution channels. There are no guides on the internet on how to do that properly so that took quite a bit of time to figure out.

    At multiple stages I had to look through source code of Electron Forge's dependencies to figure out how I was supposed to use it to correctly sign the app for the mac app store.

    I made this app using the tools I like to use, which is not very typical. I use straight javascript, no transpiling, and I wrote every single library myself from the ORM https://github.com/thebinarysearchtree/flyweight to the front-end framework, which is a thin wrapper over web components.

    Oh yeah, Electron recently started supporting esm, but Electron Forge doesn't fully support it so I had to use esbuild to compile to cjs just for the packaging step.

    I use events to make everything change in real-time in the UI. Umm... oh yeah I did include yt-dlp features but had to remove that for the store versions.

    It is available on the mac store, and soon on the windows store. There is also a trial you can download. The windows store experience is not very polished compared to the mac store. I was amazed that there are humans reviewers looking through everything I upload. hah.

    Anyway, I have to go find a job now and hope my username doesn't check out. Bye. Thanks for reading my blog.

  • Is TypeScript actually worth It?
    12 projects | news.ycombinator.com | 12 Jan 2023
    I wrote https://github.com/thebinarysearchtree/flyweight in JavaScript, not TypeScript. It generates TypeScript declaration files as it types SQL, which helps with intellisense support in VSCode. That is the only reason I use TypeScript.

    I don't like TypeScript though, and would never write anything in it. I have a long history with C# and I came to conclusions about this topic a long time ago. I just prefer writing JavaScript, it is more fun and more productive.

    Flyweight is quite a complex library. It parses arbitrarily complex SQL. This is more complex than most of the things people work on and claim they need static typing. It isn't millions of lines of code, but often those codebases aren't complex, they are just many independent components that in themselves are not that complex.

    The amount of time I spend having to update the TypeScript aspect of my library is really quite annoying. Also, with regards to your point about libraries not including type information - this is also true for the actual native APIs in the browser and so on as well. For example, TypeScript doesn't recognise the "indices" property of regular expression matches.

  • GitHub - thebinarysearchtree/flyweight: An ORM for SQLite
    1 project | /r/javascript | 29 Sep 2022
  • Flyweight: An ORM for SQLite
    1 project | /r/patient_hackernews | 29 Sep 2022
    1 project | /r/hackernews | 29 Sep 2022
    1 project | /r/sqlite | 29 Sep 2022
    1 project | /r/hypeurls | 29 Sep 2022
    9 projects | news.ycombinator.com | 29 Sep 2022

ts-proto

Posts with mentions or reviews of ts-proto. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-03.
  • Deno-first implementation of protobuf Reader and Writer
    2 projects | /r/Deno | 3 May 2023
    I created it so that I could use `protoc` and `ts-proto` to convert the otel proto files into typescript files.
  • Is TypeScript actually worth It?
    12 projects | news.ycombinator.com | 12 Jan 2023
    Re libraries incompatible with certain typescript versions - e.g. protobufjs fix - it’s been my experience that you want to try and only use compilers specific to each library and compile libraries separately. It’s unfortunate but the JS community often tries to run all JS for a project through the same single compiler tool chain, using one global version of the compiler instead of relying on and effectively linking the JS output for each library. Unless you routinely rewrite third-party libraries to match your toolchain’s expectations, you’re going to have a hard time doing that.

    For a library that generates code, that’s a special case, as the code it generates must target a particular language version. You have three choices: 1. Upstream a fix as you propose; 2. Side-by-side install both TS 4.6 and TS 4.7 using workspaces or sub-projects and have some of your code compile with 4.6 and then link the results or 3. Find a replacement that is updated to 4.7. For example, https://github.com/stephenh/ts-proto has 4.7 support listed in its readme.

  • Protobuf-ES: The Protocol Buffers TypeScript/JavaScript runtime we all deserve
    14 projects | news.ycombinator.com | 31 Oct 2022
  • [help] Tonic-build: how to generate generic service definition?
    4 projects | /r/rust | 13 Jun 2022
    With ts-proto, I can pass a --ts_proto_opt=outputServices=generic-definitions as a flag to protoc to generate "generic service definitions". These definitions contain descriptors for each method, which allows to generate server and client stubs at runtime, and also generate strong types for them at compile time.
  • Connect: A Better gRPC
    10 projects | news.ycombinator.com | 1 Jun 2022
    Curious to see their typescript implementation and how it compares with https://github.com/stephenh/ts-proto which works great for grpc-web.
  • Why isn't gRPC used more for browser to api transport over REST / graphql?
    8 projects | /r/webdev | 2 Apr 2022
    I'm planning on modding https://github.com/stephenh/ts-proto to use https://github.com/ianstormtaylor/superstruct on the client.
  • React Native + gRPC 2021
    2 projects | /r/reactnative | 14 Apr 2021
    We also use protobufs and typescript, so we use ts-proto for codegen + binding to grpc services.
  • Typescript clients for invoking Protobuf services over HTTP
    2 projects | /r/typescript | 13 Mar 2021
    Fwiw I maintain ts-proto (https://github.com/stephenh/ts-proto/) and it'd be cool to have the functionality you're building supported in ts-proto at somepoint, if you're curious/want to poke around/etc. :-) Right now there is grpc support via the improbable-eng grpcwebproxy, but supporting GCP's transcoding as well would be great.

What are some alternatives?

When comparing flyweight and ts-proto you can also consider the following projects:

sequelts

protobuf-ts - Protobuf and RPC for TypeScript

mayim - The *NOT* ORM hydrator

protoc-gen-typescript-http - Generate types and service clients from protobuf definitions annotated with http rules.

d2-playground - An online runner to play, learn, and create with D2, the modern diagram scripting language that turns text to diagrams.

protobuf-es - Protocol Buffers for ECMAScript. The only JavaScript Protobuf library that is fully-compliant with Protobuf conformance tests.

rescript-compiler - The compiler for ReScript.

grpc-web - gRPC for Web Clients

LINQ to DB - Linq to database provider.

deno-pbf - Deno pbf port of https://github.com/mapbox/pbf

SQLDelight - SQLDelight - Generates typesafe Kotlin APIs from SQL

grpc-web - gRPC Web implementation for Golang and TypeScript